qq_32640683
qq_32640683
采纳率25%
2017-08-29 08:18

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

10

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 蚂蚁冲锋队 4年前

    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,这部分代码就省略了。

    点赞 评论 复制链接分享

相关推荐