我创建了TCP Java客户端/服务器应用程序,我们有两个插槽:java.net.SocketException异常:套接字关闭TCP客户端服务器通信
- 一个是交换消息。
- 二是文件传输。
我已经在服务器中创建,以通过接受ServerSockets创造插座一,二
2个ServerSockets。
首先,客户端通过第一个套接字发送一些字节,以便它可以告诉服务器它需要哪个文件。
然后服务器通过第二个套接字发送文件到客户端。
客户端收到文件后,会尝试将传输完成消息发送回服务器。
那里我得到了封闭套接字的例外。
但是,我从来没有关闭套接字到现在。
我只关闭分离文件的缓冲区。
即使我在发送文件后尝试再次打开socketInputStream,错误仍然是一样的。
此外,如果我不关闭缓存文件的缓冲区,客户端不会得到文件。
服务器异常
错误的返回信息 - java.net.SocketException异常:插座关闭
客户端异常
服务器响应 - 爪哇。 net.SocketException:导致软件连接中止:套接字写入错误
我在做什么错?
你应该真的添加一些代码和堆栈跟踪... –
确保你关闭连接的一端,如果不是这种情况比我确定你关闭了输入或输出流,请不要关闭它们,直到你确信你的数据通信已经结束,并且你想要向套接字发送数据时使用flush()方法 – Vijay
[官方原因为“软件导致连接中止:套接字写入错误”](http:// stackoverflow.com/questions/2126607/official-reasons-for-software-caused-connection-abort-socket-write-error) – EJP