Java网络编程UDP网络通信案例——接收数据


接受端:


package 网络编程;

import java.io.IOException;
import java.net.*;
//一定要先运行接收端,不然会造成数据丢失
public class _5_2_接收端 {
		public static void main(String[] args) throws IOException {
			byte []b = new byte[1024];
			//集装箱
			DatagramPacket dp = new DatagramPacket(b, b.length);
			//码头
			DatagramSocket ds = new DatagramSocket(8888);
			ds.receive(dp);//接收数据——————阻塞式方法
			byte []line = dp.getData();//获取集装箱中的数据
			//将字符数组转换为字符串
			String data = new String(line,0,dp.getLength());
			System.out.println(data);
			String id = dp.getAddress().getHostAddress();//对方IP地址
			int port = dp.getPort();//对方端口号(系统随机分配的)
			System.out.println("发送端的IP是:"+id+"\n发送端的端口号是:"+port);
		}
}

一定要先运行接收端,不然会造成数据丢失


发送端:


package 网络编程;

import java.io.IOException;
import java.net.*;

public class _5_1_发送端 {
		public static void main(String[] args) throws IOException {
			String str = "hello word";
			//字符串转换为字节数组
			byte []b = str.getBytes();
			//集装箱
			DatagramPacket dp = new DatagramPacket(b, b.length,InetAddress.getByName("127.0.0.1"),8888);
			//码头
			DatagramSocket ds = new DatagramSocket();//可以指定一个端口号,也可以不用
			ds.send(dp);
			ds.close();
		}
}


运行效果:


在这里插入图片描述

网络编程知识补充区

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱睡觉的小馨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值