我正試圖自己實現客戶端 - 服務器應用程序。目前爲止,除了事實上,當我通過另一個應用程序(例如Web瀏覽器)訪問端口時,服務器應用程序被阻止。Java Socket等待UTF8
如果連接應用程序是「客戶端應用程序」,是否有任何簡單的方法/好的實踐來檢查?
下面是偵聽端口8080的套接字的簡單示例。套接字等待2個字符串。如果您現在連接瀏覽器(localhost:8080),則連接建立,但正在等待第一個UTF8。
public class MainSocket {
public static void main(String[] args) {
ServerSocket serverSocket;
try {
serverSocket = new ServerSocket(8080);
while (true) {
try {
Socket clientSocket = serverSocket.accept();
System.out.println("Connection established");
DataInputStream in = new DataInputStream(clientSocket.getInputStream());
System.out.println(in.readUTF());
System.out.println(in.readUTF());
in.close();
clientSocket.close();
} catch (Exception e) {
e.printStackTrace();
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
DataInputStream是專爲讀*二進制*數據,而不是文本。我建議使用許多Reader實現之一來閱讀文本。 –