略谈javase中Udp传输细节

1.UDP和TCP的区别:

UDP是面向无连接的传输,而TCP则是面向连接的,建立需要经过三次握手才能传输你需要传输的信息



2.udp客户端的建立思路:

①首先需要建立socket连接

datagramsocket s=new datagramsocket();

②输入要传输的数据,并将数据封装到数据包中

例如:需要传输:“你好”

先把字符串转变成数组

String string ="你好";

byte[] buf=string.getByte();

//封装到数据包中,需要明确数据信息,长度,对方ip地址,使用的端口

DatagramPacket dp=new datagrampacket(but,but.length,InetAddress.getByName(127.0.0.1),1000));


③通过socket的send方法把数据包发送出去

s.send(dp);

④发送完后关闭资源

s.close();



3.udp服务端的建立


① 创建socket通信接口,因为是接受端,所以要明确端口,和发送端的端口相同

datagramsocket s=new datagramsocket(10000);


②创建数组,用于存储接受到的数据

byte[] buf=new byte[2014];


//创建数据包,用于把数组中的数据在数据包中解析

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


③调用socket的接受方法,把数据存储到数据包中

s.receive(dp);


④通过datagramsocket解析数据

//获取ip

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

int port=dp.getPort();

String text=new String (dp.getData(),0,dp.getlength);


⑤控制台输出信息

system.out.println(text);

⑥关闭资源

s.close();








你可能感兴趣的:(略谈javase中Udp传输细节)