java的支持多协议传输的切换代码
时间: 2024-05-07 12:15:15 浏览: 16
以下是Java支持多协议传输的切换代码示例:
```java
import java.net.*;
import java.io.*;
import javax.net.ssl.*;
import java.security.*;
public class ProtocolSwitcher {
private static final String SSL_PROTOCOL = "TLSv1.2";
private static final String TCP_PROTOCOL = "TCP";
public static void main(String[] args) throws Exception {
String protocol = args[0];
String host = args[1];
int port = Integer.parseInt(args[2]);
if (protocol.equalsIgnoreCase(SSL_PROTOCOL)) {
SSLContext context = SSLContext.getInstance("TLS");
context.init(null, null, new SecureRandom());
SSLSocketFactory factory = context.getSocketFactory();
SSLSocket sslSocket = (SSLSocket)factory.createSocket(host, port);
sslSocket.startHandshake();
// do SSL communication
} else if (protocol.equalsIgnoreCase(TCP_PROTOCOL)) {
Socket socket = new Socket(host, port);
// do TCP communication
} else {
throw new IllegalArgumentException("Invalid protocol: " + protocol);
}
}
}
```
该代码演示了如何根据传输协议进行切换。如果协议是SSL,则使用SSL套接字工厂创建一个SSL套接字,并进行SSL通信。如果协议是TCP,则使用普通套接字创建一个TCP套接字,并进行TCP通信。如果协议不是SSL或TCP,则抛出IllegalArgumentException异常。
相关推荐
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)