java udp 接收不定长,Java网络编程之UDP网络通信

1      网络编程----UDPNo25

【Scanner scanner =new Scanner(System.in);

try {

DatagramSockets = newDatagramSocket(8888);

String line =scanner.nextLine();

byte[] bytes =line.getBytes();//把用户输入的字符串拆成字节数组

//把字节数组塞进包里,写上对方的地址和端口

try {

DatagramPacketp = new DatagramPacket(bytes, bytes.length,

InetAddress.getByName("127.0.0.1"),9999);

s.send(p);//发送包裹

s.close();

scanner.close();

byte[] bytes = newbyte[1024];

DatagramPacket p =new DatagramPacket(bytes, bytes.length);//准备空包

s.receive(p);//接收,空包裹被填满

String str = newString(bytes,0,p.getLength()); //用字节数组的有效数据组装回字符串

System.out.println(str);

s.close();

2:bytes

DatagramSocket s =new DatagramSocket(9999);

byte[] bytes = newbyte[128];//用于存放接收数据的数组

//用于存放接收数据的空数据报包,字节数组放置其中

DatagramPacket p =new DatagramPacket(bytes, bytes.length);

s.receive(p);//接收其他收发站发来的数据,阻塞方法,收到才返回

for(int i=0;i

System.out.println(bytes[i]);  //下标为0,1,2,3

}

s.close();//关闭收发站

DatagramSocket s =new DatagramSocket(8888);//在8888上建立收发站

byte[] byt

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值