【发布时间】:2011-10-10 20:17:07
【问题描述】:
我正在通过以下 IP 地址进行套接字通信,它可以工作,但我不想在 ssl 模式下进行通信,但是我如何将 InetAddress serverAddr = InetAddress.getByName("192.168.1.2"); 更改为 SSL。
public class TCPClient implements Runnable {
public void run() {
try {
InetAddress serverAddr = InetAddress.getByName("192.168.1.2");
Log.d("TCP", "C: Connecting...");
Socket socket = new Socket(serverAddr,12345);
String message = "Hello from Client android emulator";
try {
Log.d("TCP", "C: Sending: '" + message + "'");
PrintWriter out = new PrintWriter( new BufferedWriter( new OutputStreamWriter(socket.getOutputStream())),true);
out.println(message);
Log.d("TCP", "C: Sent.");
Log.d("TCP", "C: Done.");
} catch(Exception e) {
Log.e("TCP", "S: Error", e);
} finally {
socket.close();
}
} catch (Exception e) {
Log.e("TCP", "C: Error", e);
}
}
}
【问题讨论】:
-
https 用于安全的 HTTPS 流量。您似乎正在编写一个原始套接字服务器。就叫它 SSL。
-
您不能 '将
InetAddress serverAddr = InetAddress.getByName("192.168.1.2")更改为 SSL。` 这是一个 IP 地址查找。这个问题没有意义。你要找的是javax.net.ssl.SSLSocket和朋友们。