android使用 socket 如何实现长连接 连接java服务器 serverSocket
public void run() { while (true) { try { if (socket == null) { socket = new Socket("192.168.1.113", 15523); dis = socket.getInputStream(); dos = socket.getOutputStream(); System.out.println("连接到服务器"); } else { i = i +1; System.out.println("创建"+i); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(dos)); bw.write(i); bw.flush(); //bw.close(); //dos.flush(); } } catch (IOException e) { System.out.println("网络连接异常"); } try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } }
出现问题是: 总是发送1-2次或者几次服务器serverSocket 就收不到数据了
客户端还是一直发送
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
纠正一下,我发的有错别字,是socket中读取而不是过去
我觉得你应该在else中直接用socket过去输入输出流,这样可以保证每次循环都能正常读取,而你现在这样,只是在if中获取了一次,之后的读写还是使用着第一次过去到的流,他可能只是存在于内存中,而不是连着socket了
只判断了socket是不是null,dos呢,下面用到dos创建对象了。
真机测试
模拟机测的么?