-1
我在Java中製作了一個程序,允許服務器管理員監視客戶端進程。當我將數據發送到服務器時,這一切都可以。但是,當我嘗試發回數據時,它只是沒有收到它。TCP客戶端發送但沒有收到,服務器收到但沒有發送
import java.io.*;
import java.net.*;
class TCPServer {
public static void main(String argv[]) throws Exception {
String clientSentence;
String capitalizedSentence;
ServerSocket welcomeSocket = new ServerSocket(6789);
while (true) {
Socket connectionSocket = welcomeSocket.accept();
BufferedReader inFromClient = new BufferedReader(new InputStreamReader(connectionSocket.getInputStream()));
DataOutputStream outToClient = new DataOutputStream(connectionSocket.getOutputStream());
clientSentence = inFromClient.readLine();
System.out.println("Received: " + clientSentence);
capitalizedSentence = clientSentence.toUpperCase();
outToClient.writeBytes(capitalizedSentence);
}
}
}
我發現了錯誤,我是不是發送消息之後的「\ n」,造成堆積和那些永遠不會發送。
import java.io.*;
import java.net.*;
class TCPServer {
public static void main(String argv[]) throws Exception {
String clientSentence;
String capitalizedSentence;
ServerSocket welcomeSocket = new ServerSocket(6789);
while (true) {
Socket connectionSocket = welcomeSocket.accept();
BufferedReader inFromClient = new BufferedReader(new InputStreamReader(connectionSocket.getInputStream()));
DataOutputStream outToClient = new DataOutputStream(connectionSocket.getOutputStream());
clientSentence = inFromClient.readLine();
System.out.println("Received: " + clientSentence);
capitalizedSentence = clientSentence.toUpperCase() + "\n"; // <-----
outToClient.writeBytes(capitalizedSentence);
}
}
}
我在看,但我只是看不到它... –
哦對不起忘記鏈接lol –
現在它在這裏。我很抱歉 –