关于安卓客户端发送信息无法成功

独吾 发布于 03/26 15:54
阅读 94
收藏 0

代码未出现报错,在各类技术网站查询过,代码应该未写错,但是点击发送按钮后,服务端未收到任何消息,并且如上述写catch(IOException e)会出现点击按钮后立即闪退APP的现象,但是我看几乎所有人的代码都是IOException,改成Exception后只是点击不会收到消息,没有闪退现象,请各位大神多多帮助,帮我看一下错误的地方在哪里,谢谢

加载中
0
独吾
独吾

我将outputstream的输出文字的写入放在自己建的线程里面进行发送成功了

多谢@独孤晓林的热情帮助

0
张大凡
张大凡

说明发生了异常,但是异常类型不只是IOException,主线程不允许进行网络请求

独孤晓林
回复 @独吾 : 可以的用 |分割就行
独吾
独吾
难道异常可以多写吗
0
独孤晓林

你把异常贴出来

独吾
独吾
E/AndroidRuntime: FATAL EXCEPTION: Thread-2 Process: com.example.app, PID: 2615 java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()这是不是一个异常
独吾
独吾
运行调试无异常,只是在进行模拟使用的时候出现了上述情况
0
独吾
独吾

 

这是调试的结果,新手一枚,实在不知哪里出错,请大神指点一波

0
独孤晓林

他说去关闭socket的时候他是个空

独吾
独吾
里面这个system.err是错误吗,还是可以忽略的错误
0
独孤晓林

你看看不是不是哪里没有判断到,还是点击频繁socket某次在关闭的时候刚好设置成了空之类的!

独吾
独吾
好的,多谢帮助,我去尝试一下
0
独吾
独吾

实在无法找到错误在哪,全部源码附上,请大神多多指教@独孤晓林

独孤晓林
回复 @独吾 : 只点击一次是不会有问题的!
独吾
独吾
回复 @独孤晓林 : 我只需要点击一次连接服务器,应该没关系吧,我模拟时连接是成功的,只是在使用outputstream 进行传递消息时无法发送成功
独吾
独吾
回复 @独孤晓林 : 我只是做一个TCP的客户端,与服务器端进行信息传递
独孤晓林
回复 @独孤晓林 : 不太清楚你得业务,如果你需要的事多个socket对象通信的话,这种方式有问题提的,你每一次都吧对象赋给了以前的对象,其实最后只会有会有一个对象。
独孤晓林
你的代码有问题,t.start的时候他其实是个异步的,有可能你在创建的时候,下次点击已经进来了,对象就会被关闭一次,这个时候就会有问题的!
返回顶部
顶部