Android Tcp通信outputStream调用write方法数据发送不出去,flush根本没用
先说一下我要实现的功能:
客户端一个循环接收线程,当接收到一组数据后,回复一组数据给服务器。一收一发这样的过程。
但是在发送的时候服务器(单片机的WIFI模块)总是接收不到数据,网上找了很久,尝试了两种方法:
1、在flush后加上close关闭输出流,但是关闭输出流也就关闭了socket,服务器串口打印只能接收到一次数据,总不能每次接收到数据都重新连接一遍ip地址和端口号吧?
2、服务端在while循环体中设定跳出条件,或是约定数据长度,或是发送字符串有结束标志。这个不可行,直接放弃。
我的程序如下
os.println(SendData);
os.flush();
os是 PrintWriter os = new PrintWriter(Wifi_socket.getOutputStream());
或者写成
output.write(SendData);
output.flush();
output是 output = Wifi_socket.getOutputStream();
如果在flush后面加上close方法服务器还是接受不到数据