黑马程序员技术交流社区
标题:
【基础视频学习】网络编程UDP传输
[打印本页]
作者:
泛大陆
时间:
2015-7-27 20:39
标题:
【基础视频学习】网络编程UDP传输
通过udp传输方式,将一段文字数据从一个应用程序发送到另一个应用程序中。
发送端操作步骤:
1.建立udpsocket服务,也就是数据码头
2.提供数据,并将数据封装到包中
3.通过socket发送功能,将数据包发送出去
4.关闭资源
接收端操作步骤:
1.定义udpsocket服务。接收端,通常会监听一个端口,以便发送端知道该往哪发送
发送端一般系统随机分配端口,相互通信都需要明确端口
2.定义一个数据包,因为要存储接收到的字节数据。
因为数据包对象中有更多功能可以提取字节数据中的不同数据信息
3.通过socket服务的receive方法将受到的数据存入已定义的数据包中
4.通过数据包对象的特有功能,将这些不同的数据取出打印在控制台上
5.关闭资源
import java.net.*;
import java.io.*;
class UdpSend
{
public static void main(String[] args)throws Exception
{
DatagramSocket ds =new DatagramSocket();
BufferedReader bufr=
new BufferedReader(new InputStreamReader(System.in));
String line=null;
while((line=bufr.readLine())!=null)
{
if("886".equals(line))
break;
byte[] buf=line.getBytes();
DatagramPacket dp=
new DatagramPacket(buf,buf.length,InetAddress.getByName("127.0.0.1"),10000);
ds.send(dp);
}
ds.close();
}
}
class UdpRece
{
public static void main(String[] args)throws Exception
{
DatagramSocket ds =new DatagramSocket(10000);
while(true)
{
byte[] buf=new byte[1024];
DatagramPacket dp=new DatagramPacket(buf,buf.length);
ds.receive(dp);
String ip=dp.getAddress().getHostAddress();
String data=new String(dp.getData(),0,dp.getLength());
System.out.println(ip+":"+data);
}
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2