Java 为什么OutputStream.write()关闭套接字连接?

Java 为什么OutputStream.write()关闭套接字连接?,java,android,multithreading,sockets,Java,Android,Multithreading,Sockets,我正在开发一个android应用程序,它通过套接字与服务器通信。我有一个线程读取套接字,而主线程执行通过同一套接字发送消息的Asynk任务。这里的问题是,有时(比如说50%)我调用套接字连接的OutputStream.write()方法,服务器日志显示客户端关闭了连接。我了解到java套接字是全双工的,这应该允许我通过同一个套接字发送和接收消息,而不会出现任何问题。那么,为什么会发生这种情况?问题是否来自应用程序?还是服务器端代码(我无权访问)关闭连接的代码 编辑:服务器是一个带有raspbia

我正在开发一个android应用程序,它通过套接字与服务器通信。我有一个线程读取套接字,而主线程执行通过同一套接字发送消息的
Asynk任务。这里的问题是,有时(比如说50%)我调用套接字连接的
OutputStream.write()
方法,服务器日志显示客户端关闭了连接。我了解到java套接字是全双工的,这应该允许我通过同一个套接字发送和接收消息,而不会出现任何问题。那么,为什么会发生这种情况?问题是否来自应用程序?还是服务器端代码(我无权访问)关闭连接的代码

编辑:服务器是一个带有raspbian发行版的raspberry Pi,只运行一个与我的应用程序通信的java应用程序。我无法访问服务器上运行的java代码或服务器显示的任何日志,我只能访问连接到服务器的屏幕,该屏幕将打印代码“告诉”它要打印的消息。当我执行OutputStram.Write()时,服务器在屏幕上显示:“与客户端的连接已关闭”

非常感谢

为什么OutputStream.write()关闭套接字连接

没有。它将数据写入
输出流。

在调用套接字连接的OutputStream.write()方法时,服务器日志显示客户端关闭了连接

不,没有。这就是它真正显示的:

当我执行OutputStram.Write()时,服务器在屏幕上显示:“与客户端的连接已关闭”

这表示服务器关闭了与客户端的连接。而不是相反

可能是您发送了一些无效的内容,服务器出现了问题

为什么OutputStream.write()关闭套接字连接

没有。它将数据写入
输出流。

在调用套接字连接的OutputStream.write()方法时,服务器日志显示客户端关闭了连接

不,没有。这就是它真正显示的:

当我执行OutputStram.Write()时,服务器在屏幕上显示:“与客户端的连接已关闭”

这表示服务器关闭了与客户端的连接。而不是相反

可能是您发送了一些无效的内容,服务器出现了问题

为什么OutputStream.write()关闭套接字连接

没有。它将数据写入
输出流。

在调用套接字连接的OutputStream.write()方法时,服务器日志显示客户端关闭了连接

不,没有。这就是它真正显示的:

当我执行OutputStram.Write()时,服务器在屏幕上显示:“与客户端的连接已关闭”

这表示服务器关闭了与客户端的连接。而不是相反

可能是您发送了一些无效的内容,服务器出现了问题

为什么OutputStream.write()关闭套接字连接

没有。它将数据写入
输出流。

在调用套接字连接的OutputStream.write()方法时,服务器日志显示客户端关闭了连接

不,没有。这就是它真正显示的:

当我执行OutputStram.Write()时,服务器在屏幕上显示:“与客户端的连接已关闭”

这表示服务器关闭了与客户端的连接。而不是相反



可能是您发送了无效的内容,导致服务器呕吐。

您收到了什么异常?它应该在你的Android日志中。我怀疑服务器已经关闭了连接。“服务器日志显示客户端关闭了连接”:不,没有。显示日志真正包含的内容。我正在查看服务器在屏幕上显示的内容,因为我无法访问服务器代码或代码显示的任何日志。您遇到了什么异常?它应该在你的Android日志中。我怀疑服务器已经关闭了连接。“服务器日志显示客户端关闭了连接”:不,没有。显示日志真正包含的内容。我正在查看服务器在屏幕上显示的内容,因为我无法访问服务器代码或代码显示的任何日志。您遇到了什么异常?它应该在你的Android日志中。我怀疑服务器已经关闭了连接。“服务器日志显示客户端关闭了连接”:不,没有。显示日志真正包含的内容。我正在查看服务器在屏幕上显示的内容,因为我无法访问服务器代码或代码显示的任何日志。您遇到了什么异常?它应该在你的Android日志中。我怀疑服务器已经关闭了连接。“服务器日志显示客户端关闭了连接”:不,没有。显示日志真正包含的内容。我查看服务器在屏幕上显示的内容,因为我无法访问服务器代码或代码显示的任何日志。我实际发送的是服务器处理并保存在数据库中的字符串。让我和服务器管理员再核实一下。我实际上发送的是一个字符串,服务器处理并保存在数据库中。让我和服务器管理员再核实一下。我实际上发送的是一个字符串,服务器处理并保存在数据库中。让我和服务器管理员再核实一下。我实际上发送的是一个字符串,服务器处理并保存在数据库中。让我和服务器管理员再核实一下。