我創建了一個簡單的客戶端服務器套接字程序併發送字符串a | b | c | *,並且客戶端沒有收到它。客戶端在另一臺機器上。客戶端套接字未收到字符串
服務器代碼。
String format = "a|b|c|*";
ServerSocket ss = new ServerSocket(2222);
System.out.println("Server Started.");
while (true) {
Socket s = ss.accept();
System.out.println("Connection accepted.");
InputStream is = s.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
PrintStream ps = new PrintStream(s.getOutputStream());
ps.println(format);
ps.flush();
System.out.println("Format sent.");
}
客戶端
try {
Socket s = new Socket("192.168.0.71", 2222);
// step 3: Get I/O streams
InputStream is = s.getInputStream();
InputStreamReader isr= new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
String format = br.readLine();
System.out.println(format);
} catch(Exception ex){
System.out.println(ex.getMessage());
}
當我創建在同一臺機器上的客戶端則接收字符串,當我這個字符串傳遞到另一臺機器上的客戶端沒有收到它。
會發生什麼?有沒有例外?它連接但沒有獲得任何數據? –
@ Peter,是的,它確實連接,但沒有得到任何數據。 –
當你使用telnet到主機和端口時,在同一個盒子和另一個盒子上,你會得到什麼? 'telnet 192.168.0.71 2222' –