java - java中的双向客户端服务器通信

标签 java

是否可以同时从套接字读取和写入?我尝试了双向客户端服务器通信...但问题是首先我将文件(字节)从客户端发送到服务器成功接收。但是当我响应时用于处理管道损坏错误的文件(发生套接字异常)

最佳答案

套接字一个双向 channel 。这就是为什么两端都有一个输入和一个输出流。

如果出现损坏的管道异常,则意味着两侧(客户端或服务器)之一过早关闭了流。所以这取决于谁在提示。如果是服务器(听起来像您的问题),那么这意味着客户端写入了其消息,然后关闭了其一侧的所有内容。因此,当服务器尝试响应时,它并不存在。所以检查客户端。

为了帮助您,这里有一个非常基本的客户端/服务器实现示例:

Server

Client

请注意,客户端在准备好离开 while 循环并完全终止其执行之前,永远不会关闭任何内容。听起来这是你的问题。如果在这行 out.println("["+ screenName + "]: "+ s); 之后添加 out.close();,您可能会得到与你得到的相同的异常。

关于java - java中的双向客户端服务器通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33012456/

相关文章:

java - 如何使用 Java Servlet 和 JSP 以及其他字段从同一页面上传两个文件?

java - 抽象类可以实例化吗?

r - 无法并行运行bartMachine

java - Tomcat JMX 连接 - 身份验证失败

java - 用于异步客户端到客户端消息传递的库

java - Android Listview onItemLongClick 监听器第二次不工作

Javafx - 同步延迟 - 卡片翻转

java - 递归 - 选定文件夹中特定文件大小之间的文件数量

java - faces-config 奇怪的配置问题?

java - 随机算术表达式 (Android)