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 掉线的原因。

    评论

报告相同问题?

悬赏问题

  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图