我的ClientListener有问题,服务器发送TCP包但客户端不显示它。
这是我的代码
https://github.com/Behoston/sieci/tree/master/src/tcp
(服务器为每个新客户端运行新线程和这个线程(监听),这个线程运行其他发送消息(它工作 - 我可以看到wireshark中的消息 客户端运行主线程,可以输入一些文本,第二个是therad(不能正常工作)来监听来自serever的消息)
答案 0 :(得分:0)
如果您只提供指向您的存储库的链接,那么很难回答您的问题,关键类或方法的一些代码片段会有所帮助。
如果我对您提供的课程的理解是正确的,那么这就是您尝试实施的工作流程(如果我错了,请纠正我):
服务器发送欢迎消息(未在客户端显示):
git checkout master
在接收方:
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”),因此无法处理您的邮件。