2 qq 32640683 qq_32640683 于 2017.08.29 16:18 提问

socket短连接接收服务器返回数据的问题 10C

Socket soc=null;
InputStream in=null;
OutputStream out=null;
soc=new Socket(host,port);
in=soc.getInputStream();
out=soc.getOutputStream();
String length=String.format("%04d",data.length());

    System.out.println("发送的数据长度为"+length);
    out.write(length.getBytes());
    out.write(data.getBytes());
    out.flush();
            这个是我通过短连接的方式向服务器发送的数据,怎样接收服务器返回的数据,求各位大神补充一下,之前没写过这种连接方式的代码。

1个回答

baidu_26611019
baidu_26611019   2017.08.29 16:41

socket短连接通信的流程如下:
a)服务端开启ServerSocket服务等待socket服务端连接
ServerSocket server=new ServerSocket(port);
Socket socket=server.accept();
b)客户端创建Socket对象并发起连接
Socket socket=new Socket(ip,port);
InputStream is=null;
while(1){
InputStream is=socket.getInputStream(); //循环获取数据
if(is!=null){
sleep(200); //考虑包的完整性,此处只是粗略的处理
socket.close();//一旦有数据则断开连接
break;
}
}
//从 is中读取服务器发来的信息

c)服务端接收到socket请求后读取socket中的数据,然后close掉该socket,这部分代码就省略了。

baidu_26611019
baidu_26611019 具体代码可参考:http://www.cnblogs.com/linzheng/archive/2011/01/23/1942328.html
3 个月之前 回复
baidu_26611019
baidu_26611019 a)服务端开启ServerSocket服务等待socket客户端连接 (笔误)
3 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片