// 建立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

解决方案 »

  1.   

    你确认代码都走到了么,没有什么异常么,看看logcat
      

  2.   

    socket只是把数据写到缓冲区,实际数据还在缓冲器没发出去吧。
    你应该等对方收到你发送的数据后,给你发回一个确认,你收到这个确认以后再关闭socket,这样就不会有这个问题了。
      

  3.   

    代码都走到了;除了等到ack后才关闭socket,还有其他办法吗?
      

  4.   

    对方收到了数据以后关闭socket,你自己检测socket是否关闭了