A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© shaoboguanzi 中级黑马   /  2015-1-21 22:16  /  814 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

UDP的练习

需求:通过udp传输方式,将一段文字数据发送出去

步骤:,

1.1,建立udpsocket服务。

DatagramSocket ds=new DatagramSocket();

1.2,提供数据,并将数据封装到数据包中

byte[] data="wolaile".getBytes();

DatagramPacket dp=new DatagramPacket(data,data.length,

InetAddress.getByName("192,168.1.1"),10000);

1.3,将数据发送出去。

ds.send(dp);

4,关闭资源(关闭网卡)

ds.close();

2,定义一个运用程序用来接收udp

2.1定义UDPsocket服务:

DatagramSocket ds=new DatagramSocket(10000);

2.2定义一个数据包,用于存储数据。

byte[] buf=new byte[1024];

DatagramPacket dp=new DatagramPacket(buf,buf.length);

2.3通过socket服务接收数据,并存入数据包中。

ds.receive(dp);

2.4通过数据包对象特殊功能获取数据

String ip=dp.getAddress().getHostAddress();

String data=new String(dp.getData(),0,dp.getLength());

2.5关闭资源。

二、TCP的练习

1,发送端:

1.1,建立socket服务:

Socket s=new Socket("192.168.1.1",1111);

1.2,为了发送数据应该获取socket中的输出流:

OutputStream out=s.getOutputStream();

1.3,关闭资源。

s.close();

2,接收端:没有输入输出流。必须先开服务端,因为面向有链接

2.1建立服务端的socket服务。

ServerSocket ss=new ServerSocket(1111);

2.2获取链接到的客户端对象。

Socket s=ss.accept();

2.3如果客户端发过来数据那么服务端要使用客户端对应的读取流。InputStream in=s.getInputStream();

byte []buf=new byte[1024];

int len=in.read(buf);

System.out.println(new String(buf,0,len));

2.4关闭客户端:

s.close();


您需要登录后才可以回帖 登录 | 加入黑马