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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

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