问答详情
源自:4-3 编程实现基于 UDP 的 Socket 通信之客户端

UDP实现多线程,服务器端只执行了一次循环,总是报Datasocket.receive(packet);出错

https://img2.mukewang.com/5ac39b1f000156bb15100380.jpg怎么解决这个一次循环?

https://img.mukewang.com/5ac39b3c0001662f12510861.jpg

提问者:幕布斯1117532 2018-04-03 23:19

个回答

  • he3m
    2018-04-04 08:21:17
    已采纳

    把Datagramsocket放到循环外试一下

    Datagrampacket packet=new Datagrampacket(new byte[1024],1024);
    while(true){
    datasocket.receive(packet);
    byte[]arr=packet.getData();
    int len=packet.length();
    syso(arr,0,len);
    }


  • 一个神仙
    2018-09-13 21:05:35

    在线程里面吧socket.close()删除