关于Java版聊天室的上传功能,上传完成之后不能继续聊天

秋明本 2017-02-24 12:07:54
我的聊天室,当客户端启动时,会开启接受消息的线程,然后客户端选择上传文件功能时,又会开启上传文件的线程,对应的服务器也会开启接收客户端上传文件的线程,但是上传完成之后,再选择聊天功能时,发不出去消息。其中上传文件的方法中调用的return_menu("-r", client);是返回选择功能再淡的方法。

图一为上传文件的方法

图二为上传文件的线程

图三为服务器接收文件的方法

图四为服务器接收文件的线程
...全文
183 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
秋明本 2017-02-25
  • 打赏
  • 举报
回复
问题已得到解决,通过开两个端口可以将聊天与发送文件分开来,就不会产生冲突。
秋明本 2017-02-24
  • 打赏
  • 举报
回复
问一下大家,有谁知道我能不能用服务器开两个端口,一个用来收发消息,一个用来收发文件?
秋明本 2017-02-24
  • 打赏
  • 举报
回复
引用 3 楼 han_dada 的回复:
应该是你上传文件的流没关导致后台阻塞了。而且服务端线程 join 的意义何在?
我这个流的确是没有关,之所以不关是因为我这个流使用Socket client 传进去的参数,也就是说跟聊天的线程用的是一个通道,这个关掉会报Socket Closed异常。。。
扫雪去 2017-02-24
  • 打赏
  • 举报
回复
应该是你上传文件的流没关导致后台阻塞了。而且服务端线程 join 的意义何在?
jiajing1990_ 2017-02-24
  • 打赏
  • 举报
回复
你netstat看一看端口没有阻塞
  • 打赏
  • 举报
回复
看看是不是哪的流没关闭导致阻塞了。 真相只有一个。

62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧