Java套接字服务器仅显示连接关闭后收到的消息
我正在尝试为一个简单的服务器编写一个代码,该服务器接收来自客户端的消息。连接成功,但一旦服务器与客户端连接,消息就不会显示在屏幕上。在我从客户端关闭连接后,服务器一次性接收所有消息 我需要一行一行地接收消息,因为每一行都需要单独和实时地去处理(我使用HMM来识别司机的动作) 有人能告诉我我做错了什么吗 非常感谢Java套接字服务器仅显示连接关闭后收到的消息,java,sockets,tcp,server,message,Java,Sockets,Tcp,Server,Message,我正在尝试为一个简单的服务器编写一个代码,该服务器接收来自客户端的消息。连接成功,但一旦服务器与客户端连接,消息就不会显示在屏幕上。在我从客户端关闭连接后,服务器一次性接收所有消息 我需要一行一行地接收消息,因为每一行都需要单独和实时地去处理(我使用HMM来识别司机的动作) 有人能告诉我我做错了什么吗 非常感谢 public static void main(String args[]) { ServerSocket my_server = null; String recei
public static void main(String args[]) {
ServerSocket my_server = null;
String received_message;
DataOutputStream output = null;
Socket socket_connected = null;
try {
my_server = new ServerSocket(9090);
}
catch (IOException excepcion) {
System.out.println(excepcion);
}
try {
socket_connected = my_server.accept();
BufferedReader entrada = null;
while (socket_connected.isConnected() == true){
entrada = new BufferedReader(new InputStreamReader(socket_connected.getInputStream()));
output = new DataOutputStream(socket_connected.getOutputStream());
System.out.println("Confirmando conexion al cliente....");
received_message = entrada.readLine();
System.out.println(received_message);
entrada.close();
output.close();
}
socket_connected.close();
}
catch (IOException excepcion) {
System.out.println(excepcion);
}
}
客户端,是否刷新输出流
关闭连接时,将刷新所有剩余数据,但在此之前,只有当有足够的“等待”数据要发送时,才会刷新这些数据。客户端,是否刷新输出流
关闭连接时,会刷新所有剩余数据,但在此之前,只有当有足够的“等待”数据要发送时,才会刷新这些数据。我设法找到了一个解决方案,我想在这里分享 我的客户机是一个VisualBasic应用程序,我有一个Java服务器。客户端发送的消息没有行尾字符,因此entrada.readLine()为空;将在显示消息之前等待消息结束的信号(从未发生过)。 解决方案是在客户端消息的末尾添加一个行尾字符,最后一切都很顺利
谢谢你的回答。我设法找到了一个解决方案,我想在这里与大家分享 我的客户机是一个VisualBasic应用程序,我有一个Java服务器。客户端发送的消息没有行尾字符,因此entrada.readLine()为空;将在显示消息之前等待消息结束的信号(从未发生过)。 解决方案是在客户端消息的末尾添加一个行尾字符,最后一切都很顺利
谢谢您的回答。您知道
flush
方法吗?您可以在套接字(客户端或服务器端)中写入后使用它。您知道flush
方法吗?在套接字中写入后可以使用它(客户端或服务器端)