2016-04-28 131 views
-2

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

这里是我的代码

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

(服务器运行新的线程为每个新客户端和这个线程(听)等来发送消息(它的工作原理是线程运行 - 我能看到的消息wireshark 客户端运行主线程在哪里可以输入一些文本和第二therad(不正常工作)来收听来自serever的消息)

回答

0

如果您只提供一个链接到您的存储库,一些代码片段至关重要的类别或方法将是最好的PFUL。

如果我的你提供的类的理解是正确的,这是你试图实现(纠正我,如果我错了)的工作流程:

  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"); 
    

在recieving方面:

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

据我看到的,你与你的服务器发送的ByteArray等待的readLine()。由于readLine()等待行分隔符(f.e.“\ n”),所以您的消息无法处理。