qq_32640683 2017-08-29 08:18 采纳率: 25%
浏览 2642
已结题

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

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条回答

  • 蚂蚁冲锋队 2017-08-29 08: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,这部分代码就省略了。

    评论

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘