首页 >> 动态 >

java udp socket编程主要用到的两个类

2022-09-20 22:02:07 来源: 用户: 

大家好,小珊来为大家解答以上的问题。java udp socket编程主要用到的两个类这个很多人还不知道,现在让我们一起来看看吧!

1、发送步骤:使用 DatagramSocket(int port) 建立socket(套间字)服务。

2、将数据打包到DatagramPacket中去通过socket服务发送 (send()方法)关闭资源import java.io.IOException;  import java.net.*;    public class Send {        public static void main(String[] args)  {                    DatagramSocket ds = null;  //建立套间字udpsocket服务                    try {            ds = new DatagramSocket(8999);  //实例化套间字,指定自己的port          } catch (SocketException e) {              System.out.println("Cannot open port!");              System.exit(1);           }                    byte[] buf= "Hello, I am sender!".getBytes();  //数据          InetAddress destination = null ;          try {              destination = InetAddress.getByName("192.168.1.5");  //需要发送的地址          } catch (UnknownHostException e) {              System.out.println("Cannot open findhost!");              System.exit(1);           }          DatagramPacket dp =                   new DatagramPacket(buf, buf.length, destination , 10000);            //打包到DatagramPacket类型中(DatagramSocket的send()方法接受此类,注意10000是接受地址的端口,不同于自己的端口!)                    try {              ds.send(dp);  //发送数据          } catch (IOException e) {          }          ds.close();      }  }接收步骤:使用 DatagramSocket(int port) 建立socket(套间字)服务。

3、(我们注意到此服务即可以接收,又可以发送),port指定监视接受端口。

4、定义一个数据包(DatagramPacket),储存接收到的数据,使用其中的方法提取传送的内容通过DatagramSocket 的receive方法将接受到的数据存入上面定义的包中使用DatagramPacket的方法,提取数据。

5、关闭资源。

6、import java.net.*;    public class Rec {        public static void main(String[] args) throws Exception {                    DatagramSocket ds = new DatagramSocket(10000);  //定义服务,监视端口上面的发送端口,注意不是send本身端口                    byte[] buf = new byte[1024];//接受内容的大小,注意不要溢出                    DatagramPacket dp = new DatagramPacket(buf,0,buf.length);//定义一个接收的包                    ds.receive(dp);//将接受内容封装到包中                    String data = new String(dp.getData(), 0, dp.getLength());//利用getData()方法取出内容                    System.out.println(data);//打印内容                    ds.close();//关闭资源         }  }这个差太多了,在知道的搜索栏,搜索 java ud。

本文到此分享完毕,希望对大家有所帮助。

  免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!

 
分享:
最新文章