// 建立socket连接
SocketAddress socketAddress = new InetSocketAddress(serverIp, port);
Socket socket.connect(socketAddress, 1000);
// 发送数据
String data = "test .....";
OutputStream out = socket.getOutputStream();
OutputStreamWriter writer = new OutputStreamWriter(out, "UTF-8");
writer.append(data);
writer.flush();
// 关闭socket连接
socket.shutdownInput();
socket.shutdownOutput();
socket.close();
代码大概就是这样实现的,接收方没有收到此处发送的数据。
不知道问题出在哪里,有人知道吗?
socket
------解决方案--------------------
你确认代码都走到了么,没有什么异常么,看看logcat
------解决方案--------------------
socket只是把数据写到缓冲区,实际数据还在缓冲器没发出去吧。
你应该等对方收到你发送的数据后,给你发回一个确认,你收到这个确认以后再关闭socket,这样就不会有这个问题了。