我正在开发和通过套接字与服务器通信的android应用程序。我有一个线程读取套接字,而主线程执行Asynk Task
,通过相同的套接字发送消息。这里的问题是,有一些时间(比如50%的时间)我调用套接字连接的OutputStream.write()
方法,服务器日志显示客户端关闭了连接。我读到java套接字是全双工的,这应该允许我通过同一个套接字发送和接收消息没有问题。那么,为什么会这样呢?来自应用程序的问题是什么?或者它是服务器端代码(我无法访问)关闭连接的那个??
非常感谢!
答案 0 :(得分:3)
为什么OutputStream.write()会关闭套接字连接?
没有。它将数据写入OutputStream.
有些时候(比如50%),我调用套接字连接的OutputStream.write()方法,服务器日志显示客户端关闭连接。
不,不。这就是它真正展示的内容:
当我执行OutputStram.Write()时,服务器在屏幕上显示:“连接到客户端关闭”。
这表示服务器关闭了连接 客户端。不是相反。
可能你发送了一些无效的东西,服务器被禁止了。