【问题标题】:TCP java chat, client not listenTCP java聊天,客户端不听
【发布时间】:2016-04-28 09:35:00
【问题描述】:

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

这是我的代码

https://github.com/Behoston/sieci/tree/master/src/tcp

(服务器为每个新客户端运行新线程,这个线程(监听),这个线程运行其他发送消息(它有效 - 我可以在wireshark中看到消息 客户端运行主线程,可以输入一些文本和第二个therad(无法正常工作)来监听来自服务器的消息)

【问题讨论】:

    标签: java multithreading sockets tcp


    【解决方案1】:

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

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

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

      DataOutputStream outToClient = new DataOutputStream(connectionSocket.getOutputStream());
          outToClient.writeBytes("Hello, your ID is: " + clientId + "; To send message please use 3 first chars to set target");
      

    在接收方:

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

    据我所知,您正在等待 readLine() 与您的服务器发送一个 byteArray。由于 readLine() 等待行分隔符(例如“\n”),因此无法处理您的消息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-12
      • 2011-01-04
      • 1970-01-01
      相关资源
      最近更新 更多