java datagramsocket,Java DatagramSocket和DatagramPacket[通俗易懂]

java datagramsocket,Java DatagramSocket和DatagramPacket[通俗易懂]JavaDatagramSocket和DatagramPacket1JavaDatagramSocket和DatagramPacketJavaDatagramSocket和DatagramPacket类用于无连接Socket编程。2JavaDatagramSocket类JavaDatagramSocket类表示用于发送和接收数据报包的无连接Socket。DatagramSocket基…

大家好,又见面了,我是你们的朋友全栈君。

Java DatagramSocket和DatagramPacket

1 Java DatagramSocket和DatagramPacket

Java DatagramSocket和DatagramPacket类用于无连接Socket编程。

2 Java DatagramSocket类

Java DatagramSocket类表示用于发送和接收数据报包的无连接Socket。

DatagramSocket基本上是一种信息,但不能保证其内容,到达或到达时间。

2.1 Java DatagramSocket类的构造方法

构造方法

描述

DatagramSocket() throws SocketEeption

创建一个DatagramSocket,并将其与本地计算机上的可用端口号绑定。

DatagramSocket(int port) throws SocketEeption

创建一个DatagramSocket,并将其与给定的端口号绑定。

DatagramSocket(int port, InetAddress address) throws SocketEeption

创建一个DatagramSocket,并将其与指定的端口号和主机地址绑定。

3 Java DatagramPacket类

Java DatagramPacket是可以发送或接收的消息。如果发送多个数据包,则它可能以任何顺序到达。此外,不能保证数据包的传递。

3.1 Java DatagramPacket类的构造方法

构造方法

描述

DatagramPacket(byte[] barr, int length)

创建一个DatagramPacket。该构造函数用于接收数据包。

DatagramPacket(byte[] barr, int length, InetAddress address, int port)

创建一个DatagramPacket。该构造函数用于发送数据包。

4 DatagramSocket和DatagramPacket的例子

4.1 通过DatagramSocket发送DatagramPacket

package com.yiidian;

/**

* 一点教程网: http://www.yiidian.com

*/

/**

* 通过DatagramSocket发送DatagramPacket

*/

import java.net.*;

public class DSender{

public static void main(String[] args) throws Exception {

DatagramSocket ds = new DatagramSocket();

String str = “Welcome java”;

InetAddress ip = InetAddress.getByName(“127.0.0.1”);

DatagramPacket dp = new DatagramPacket(str.getBytes(), str.length(), ip, 3000);

ds.send(dp);

ds.close();

}

}

4.2 通过DatagramSocket接收DatagramPacket

package com.yiidian;

/**

* 一点教程网: http://www.yiidian.com

*/

/**

* 通过DatagramSocket接收DatagramPacket

*/

import java.net.*;

public class DReceiver{

public static void main(String[] args) throws Exception {

DatagramSocket ds = new DatagramSocket(3000);

byte[] buf = new byte[1024];

DatagramPacket dp = new DatagramPacket(buf, 1024);

ds.receive(dp);

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

System.out.println(str);

ds.close();

}

}

4.3 效果演示

先启动DReceiver,再启动DSender

b02879147179af10a5947ad7a50695c7.png

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/131139.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python浮雕图片_用Python来画浮雕画

    python浮雕图片_用Python来画浮雕画浮雕艺术在世界各地都可以见到,中国古代在唐朝以来就有许多浮雕效果的东西,很多的大型纪念性建筑都有这种作为装饰,常见的有花窗,龙柱等。简单的来说,浮雕就是把所要呈现的图像突起于石头表面,根据凹凸的程度不同从而形成三维的立体感。用Python画一张浮雕画,那就进行类似的原理,通过勾画图像的轮廓,并且降低周围的像素值,那就可以产生一张具有立体感的浮雕效果图片。我们可以采用相邻像素相减的方法来得到轮廓与平…

    2022年6月20日
    31
  • keil5.24 +注册机 下载

    keil5.24 +注册机 下载下载地址:https://pan.baidu.com/s/1Tmgt9oMY71WBhlz4VM7uCw密码:fqhu管理员身份运行。否则破解失败

    2022年6月11日
    43
  • 数组转对象,对象转数组对不对_对象数组初始化

    数组转对象,对象转数组对不对_对象数组初始化<scripttype=”text/javascript”>//数组转对象vara=[1,2,3,4]varobj={…a}//{0:1,1:2,2:3,3:4}varobj2={}a.forEach((item,index)=>{obj2[index]=item})//{0:1,1:2,2:3,3:4}functiontoObj(a.

    2025年10月23日
    2
  • 可用的NTP服务器地址「建议收藏」

    可用的NTP服务器地址「建议收藏」国内可用的Internet时间同步服务器地址(NTP时间服务器)好在阿里云提供了7个NTP时间服务器也就是Internet时间同步服务器地址ntp1.aliyun.comntp2.aliyun.comntp3.aliyun.comntp4.aliyun.comntp5.aliyun.comntp6.aliyun.comntp7.aliyun.com以下红色部分是我能ping通的地址,不能平通的也…

    2022年6月14日
    30
  • 常见函数的泰勒公式展开_基本泰勒公式展开表

    常见函数的泰勒公式展开_基本泰勒公式展开表笔记

    2025年7月2日
    5
  • 掩码、通配符与反掩码

    掩码、通配符与反掩码掩码采用按位与运算,计算一个ip地址的网络号0&0=0  1&0=0  即:x&0=00&1=0  1&1=1  即:x&1=xip地址的结构=网络号+主机号若要得到网络号,掩码的结构必然为前面是连续的1,后面是连续的0 通配符0表示严格匹配,1表示无需匹配0和1可以连续也可以不连续通配符与掩码的功能完全不同,没有任何关系例如:如何选择出192.x.1.x这样的

    2022年7月19日
    22

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号