sufe_hung 2015-05-19 16:12 采纳率: 0%
浏览 4076

Android Socket发送数据遇到的奇怪问题

向各位大虾求救!!!
写一段简单的Android网络通讯程序,发现总是发送数据发了100上下字节(每次8个字节),然后就发不出去了,但是也没有任何异常抛出,检查所有状态都正常。
有谁知道这可能是什么情况?

连接代码是这样的:
mSocket=new Socket(mStrIP, mPort);
mSocket.setTcpNoDelay(true); // disable Nagle algorithm
mSocket.setKeepAlive(true);
mInputStream=mSocket.getInputStream();
mOutputStream = mSocket.getOutputStream();

数据发送代码。(所有错误日志都没有打印出来)
if (socket.isOutputShutdown()) Log.e(TAG, "Output is Shutdown");
if (socket.isInputShutdown()) Log.e(TAG, "Input is Shutdown");
if (socket.isClosed()) Log.e(TAG, "Socket is closed");
if (!socket.isConnected()) Log.e(TAG, "Socket is disconnected");
mOutputStream.write(data);
mOutputStream.flush();

建立网络连接和发送数据都是在同一个后台服务的子线程通过handle的形式处理。
网络环境就是WiFi

  • 写回答

5条回答 默认 最新

  • 91program 博客专家认证 2015-05-19 23:25
    关注

    1 先判断一下出现问题时,网络的状态是否正常?
    2 如果正常,服务器端是否运行正常。如果你连接的后台服务异常了,也会导致终端掉线
    3 最后,判断终端的 Socket 连接状态是否正常。其实,直接判断这个就可以了,前面两个只是想知道 Socket 掉线的原因。

    评论

报告相同问题?

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能