TCP java聊天,客户端不侦听

TCP java聊天,客户端不侦听,java,multithreading,sockets,tcp,Java,Multithreading,Sockets,Tcp,我的ClientListener、服务器发送TCP包有问题,但客户端不显示它 这是我的密码 (服务器为每个新客户端运行新线程,此线程(用于侦听)和此线程彼此运行以发送消息(它可以工作-我可以在wireshark中看到消息) 客户端运行主线程,可以在其中输入一些文本和第二个线程(工作不正常)来侦听来自serever的消息)很难回答您的问题。如果您只提供指向存储库的链接,则关键类或方法的一些代码片段会很有帮助 如果我对您提供的类的理解是正确的,那么这就是您试图实现的工作流(如果我错了,请纠正我):

我的ClientListener、服务器发送TCP包有问题,但客户端不显示它

这是我的密码

(服务器为每个新客户端运行新线程,此线程(用于侦听)和此线程彼此运行以发送消息(它可以工作-我可以在wireshark中看到消息)
客户端运行主线程,可以在其中输入一些文本和第二个线程(工作不正常)来侦听来自serever的消息)

很难回答您的问题。如果您只提供指向存储库的链接,则关键类或方法的一些代码片段会很有帮助

如果我对您提供的类的理解是正确的,那么这就是您试图实现的工作流(如果我错了,请纠正我):

  • 服务器启动
  • 客户端连接
  • 服务器发送欢迎消息(该消息不会显示在客户端):

  • 在接收端:

        BufferedReader inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
                response = inFromServer.readLine();
    
    据我所知,您正在等待一个readLine(),而您的服务器正在发送byteArray。由于readLine()等待一个行分隔符(f.e.“\n”),因此无法处理您的邮件

        BufferedReader inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
                response = inFromServer.readLine();