TCP java聊天,客户端不听

时间:2016-04-28 09:35:00

标签: java multithreading sockets tcp

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

这是我的代码

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

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

1 个答案:

答案 0 :(得分:0)

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

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

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

    git checkout master
  4. 在接收方:

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

    据我所知,您正在等待服务器发送byteArray的 readLine()。由于 readLine()等待行分隔符(f.e。“\ n”),因此无法处理您的邮件。