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


相关推荐

  • shell编程if/then备忘

    shell编程if/then备忘一、基础知识”[“是专有命令,而不是普通测试符号(ls/usr/bin/[有结果),和test命令等价,并且是内建命令。bash2.02引入[[…]]扩展测试命令,但是[[是一个关键字,而不是一个命令,Bash把[[$a-lt$b]]看做一个单独的元素,并且返回一个退出状态码((…))和let…结构也能够返回退出状态吗,当他们所测试的算术表达式的结构

    2022年8月18日
    12
  • 高通linux-串口笔记「建议收藏」

    高通linux-串口笔记「建议收藏」概述驱动:drivers/tty/serial/msm_serial_hs_lite.c:低速版本,设备树内容配置为compatible="qcom,msm-lsuart-v14";msm_serial_hs.c:高速版本, 设备树内容配置为compatible="qcom,msm-hsuart-v14"; 2.分析设备树内容 uart_cons…

    2025年11月10日
    6
  • OpenClaw 在 Windows 环境下的完整安装、配置和部署指南

    OpenClaw 在 Windows 环境下的完整安装、配置和部署指南

    2026年3月13日
    2
  • 京东数据库泄露事件分析报告_某网站的用户数据库泄露

    京东数据库泄露事件分析报告_某网站的用户数据库泄露猪猪侠·2014/03/0112:020×00背景昨天一张截图在QQ群里疯传,并说京东数据库泄露,里面有钱的尽快转。有人问“我挨个试了一下,只有3个可以正常登陆,而且网上也并没有完整的数据库流出,所以我妄猜是否是支付宝或者是其他竞争对手的营销手段?”这件事件到底是真的假的呢?经过我的研究,京东的数据库没有被脱裤,只是无聊黑客的恶作剧,他们通过收集互联网已泄露的用户+密码信息,生成对应的字典…

    2026年1月27日
    4
  • pytorch mseloss_pytorch handbook

    pytorch mseloss_pytorch handbook1、均方损失函数:loss(xi,yi)=(xi−yi)2loss(xi,yi)=(xi−yi)2\text{loss}(\mathbf{x}_i,\mathbf{y}_i)=(\mathbf{x}_i-\mathbf{y}_i)^2这里loss,x,y的维度是一样的,可以是向量或者矩阵,i是下标。很多的loss函数都有size_average和reduc…

    2026年1月20日
    6
  • pycharm 2021激活码3月最新在线激活

    pycharm 2021激活码3月最新在线激活,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
    123

发表回复

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

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