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)
上一篇 2022年6月12日 下午9:00
下一篇 2022年6月12日 下午9:16


相关推荐

  • 实验十(课程资源)-DNS服务器配置与管理[通俗易懂]

    实验十(课程资源)-DNS服务器配置与管理[通俗易懂]课程实验报告:一、实验目的:1、了解DNS工作原理及域名解析过程2、掌握DNS服务器的安装、配置与管理二、实验目的:在windows2003上搭建DNS服务器,并进行相关配置与功能测试三、实验原理:DNS:是域名系统(DomainNameSystem)的缩写,指在Internet中使用的分配名字和地址的机制。域名系统允许用户使用友好的名字而不是难以记忆的数字——IP

    2022年6月3日
    48
  • pantum打印机驱动安装m6506_奔图m6506驱动程序

    pantum打印机驱动安装m6506_奔图m6506驱动程序小编给使用奔图 m6506 打印机的用户收集了该打印机的专用驱动 奔图 m6506 驱动程序 如果出现打印机和电脑连接不兼容的问题 安装奔图 m6506 驱动即可解决问题 奔图 M6506 打印机参数 产品类型 黑白激光打印机双面打印 自动最大支持打印的纸张大小 A4 黑白打印速度 33ppm 耗材类型 鼓粉一体最高分辨率 1200X600dpi 进纸盒容量 配置 150 页网络打印 不支持有线网络打印支

    2026年3月26日
    3
  • hibernate和mybatisplus区别_Mybatis框架

    hibernate和mybatisplus区别_Mybatis框架我是一名java开发人员,hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践中也应用过,现在对hibernate和mybatis做一下对比,便于大家更好的理解和学习,使自己在做项目中更加得心应手。第一方面:开发速度的对比就开发速度而言,Hibernate的真正掌握要比Mybatis来得难些。Mybatis框架相对简单很容易上手,但也相对简陋些

    2025年10月22日
    5
  • Linux下tar解压到当前目录,zip压缩,tar压缩,tar解压[通俗易懂]

    Linux下tar解压到当前目录,zip压缩,tar压缩,tar解压[通俗易懂]很多时候我们需要把文件解压到当前目录,命令如下:tar-zxvfvscode-server-linux-x64.tar.gz-C./有时候很讨厌,因为tar.gz的包里就存在一个与压缩包同名的目录,这种情况的话需要先解压,再拷贝:tar-zxvfvscode-server-linux-x64.tar.gz-C./mvvscode-server-linux-x64/*….

    2022年5月11日
    74
  • 小学计算机画线反思,小学四年级数学上册《画平行线》教学反思[通俗易懂]

    小学计算机画线反思,小学四年级数学上册《画平行线》教学反思[通俗易懂]小学四年级数学上册《画平行线》教学反思过去,对于平行线的画法,我也感到很不理解,特别是用尺子移来移去,实在太麻烦,对于平行线的理解,学生只知道“在同一平面内不相交的两条直线是平行线”,而不相交的实质是“两条直线间的距离是固定的.”学生并没有直观感受。正是基于这样的认识画平行线的教学只能由教师传授给学生,他们也只能是机械的模仿,也就是简单的完成操作工的活动,没有任何思维的含量,不能算真正意义上的脑力…

    2025年12月10日
    5
  • NFS修改2049端口号

    NFS修改2049端口号欢迎大家搜素微信公众号“东面而视”,分项技术及讨论技术《什么是NFS》   就是通过网络共享目录,让网络上的其他服务器能够挂载访问共享目录内的数据。(一般共享视频,图片等静态数据) 为什么修改NFS的2049端口1. 其他服务再用2049端口2. 由于某些规定(如端口号必须在10000以上)修改方法1. 检查LINUX是否按装NFS[root@CT5_6-32-22…

    2022年6月27日
    31

发表回复

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

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