网络编程:socket--基于 UDP 客户端编程|学习笔记

简介: 快速学习 网络编程:socket--基于 UDP 客户端编程

开发者学堂课程【大数据 ZooKeeper 快速入门网络编程:socket--基于 UDP 客户端编程】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/549/detail/7580


网络编程:socket--基于 UDP 客户端编程


目录

一、基于 UDP 协议的 Socket 通信的编程与实现

二、打开编译器通过 java 代码怎么实现 UDP 协议的 Socket 通信。

 

一、基于 UDP 协议的 Socket 通信的编程与实现

在编程之前梳理一下 UDP 协议的最大特点:发送的数据需要打包,包的大小有限制,因此在进行通信的时候把发送的数据进行打包才可以发送出去。

在 java 中 基于 UDP 协议的通信它的核心类叫做 DatagramSocket,在通信的表单都要去创建 DatagramSocket。

 

二、打开编译器通过 java 代码怎么实现 UDP 协议的 Socket 通信。

1.打开编译器,因为 DatagramSocket 类在 java jdk 中自带的,因此不需要导入任何的架包,直接去 new 一个普通的 java 工程即可。创建一个 Java 的工程选择next,不需要模板直接点 next,工程的名字是 example-socket,点击 finish,这样就创建了一个普通的 Java 工程。里面有一个架包 jdk。

2.怎么基于 UDP 协议的 Socket 通信?

Socket是一个客户端加服务端,一边发送一边接收。

3.发送端的数据怎么写

在 src 里建立一个包,cn.itcast.socket.udp。在里面再创建一个客户端,直接去 new 一个类 UDPSocketClite

在 UDPSocketCliet 中写

(1)先写一个 main 方法

public class UDPSocketCliet{

public static viod main (String[] args){

}

}

(2)接下来梳理基于 UDP 的 Socket 通信,

客户端流程

①创建发送端的 socket 对象,这个对象基于 UDP 核心类是 DatagramSocket。因此创建这个类的实例

②有了对象接下来就基于这个对象发送数据,发送之前要把发送的数据打包,打包完就可以发送数据。

③把资源做一个释放

public class UDPSocketCliet{

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

//创建发送端的 socket 对象,DatagramSocket

DatagramSocket client = new DatagramSocket();

//来自 java.net 方向,因此不需要导入,创建完之后也不需要参数,这里报了错误,为了方便,在上面直接输入一个 Exception

//把发送的数据打包

String message = "hello udp";

InetAddress address = InetAddress address.getlocalHost();

//直接访问本机,再把对象封装到本地中

Int port = 12321;//端口号,前提没有用过

Datagrampacket packet = new Datagrampacket(message.getBytes(),message.getBytes().length,address,port);//packet 有多个构造对象,选择哪个?第一个是 byte 数组,传送的数组数据是 byte 类型的,然后是数据的长度 length,接下来是参数 inetAddress,可以使用任何构造函数,要能理解。例如使用一个 length、address 加端口号。点击下面的 packet 会发现它是 Datagrampacket,因此要创建一个这样的类

//发送打包好的数据

client.send(packet);

//资源释放

client.close();

}

}

 

相关文章
|
27天前
|
网络协议 安全 网络安全
网络编程:基于socket的TCP/IP通信。
网络编程:基于socket的TCP/IP通信。
129 0
|
1月前
|
Java
java网络编程 UDP通信协议实现局域网内文件的发送和接收
java网络编程 UDP通信协议实现局域网内文件的发送和接收
java网络编程 UDP通信协议实现局域网内文件的发送和接收
|
15天前
|
网络协议 C语言
C语言 网络编程(十)TCP通信创建流程---客户端
在TCP通信中,客户端需通过一系列步骤与服务器建立连接并进行数据传输。首先使用 `socket()` 函数创建一个流式套接字,然后通过 `connect()` 函数连接服务器。连接成功后,可以使用 `send()` 和 `recv()` 函数进行数据发送和接收。最后展示了一个完整的客户端示例代码,实现了与服务器的通信过程。
|
15天前
|
网络协议 视频直播 C语言
C语言 网络编程(三)UDP 协议
UDP(用户数据报协议)是一种无需建立连接的通信协议,适用于高效率的数据传输,但不保证数据的可靠性。其特点是无连接、尽力交付且面向报文,具备较高的实时性。UDP广泛应用于视频会议、实时多媒体通信、直播及DNS查询等场景,并被许多即时通讯软件和服务(如MSN/QQ/Skype、流媒体、VoIP等)采用进行实时数据传输。UDP报文由首部和数据部分组成,首部包含源端口、目的端口、长度和校验和字段。相比TCP,UDP具有更高的传输效率和更低的资源消耗。
|
1月前
|
分布式计算 网络协议 Python
Python网络编程:socket编程
Socket 编程是网络编程的重要部分,主要用于在不同计算机之间进行通信。Python 提供了一个非常强大的 socket 库,使得网络编程变得简单和灵活。本篇博文将详细介绍 Python 的 socket 编程,包括基础概念、核心组件、常用功能,并附上一个综合的示例及其运行结果。
|
1月前
|
网络协议 Java
一文讲明TCP网络编程、Socket套接字的讲解使用、网络编程案例
这篇文章全面讲解了基于Socket的TCP网络编程,包括Socket基本概念、TCP编程步骤、客户端和服务端的通信过程,并通过具体代码示例展示了客户端与服务端之间的数据通信。同时,还提供了多个案例分析,如客户端发送信息给服务端、客户端发送文件给服务端以及服务端保存文件并返回确认信息给客户端的场景。
一文讲明TCP网络编程、Socket套接字的讲解使用、网络编程案例
|
15天前
|
存储 网络协议 安全
C语言 网络编程(五)Socket和端口
Socket 是 TCP/IP 五层网络模型中应用层的编程接口,用于实现不同主机间应用程序的双向通信。它作为网络通信的端点,连接应用层与网络协议栈,提供可靠的流式或非流式数据传输服务。Socket 包括流式(SOCKET_STREAM)、数据报(SOCK_DGRAM)和原始套接字(SOCK_RAW)三种类型,分别适用于不同场景。通过 IP 地址和端口号,Socket 能准确识别并转发数据包至指定进程。端口号分为知名端口(1-1023)、注册端口(1024-49151)和动态端口(49152-65535),确保数据准确交付。
|
19天前
|
Rust 网络协议 安全
揭开Rust网络编程的神秘面纱:全新的Socket体验,让你告别内存泄漏的噩梦!
【8月更文挑战第31天】Rust语言凭借其卓越的内存安全性和高性能,在网络编程领域展现出独特优势。本文将带你探索Rust中的Socket编程,展示如何使用标准库`std::net`模块轻松实现TCP服务器与客户端。通过简洁的代码示例,你将看到Rust如何简化网络通信流程,并通过`async/await`异步模型高效处理并发连接。此外,Rust社区提供的优秀库如`tokio`和`async-std`进一步增强了异步网络编程的能力。无论是从基础示例还是高级应用,Rust都将为你带来耳目一新的网络编程体验。
57 0
|
1月前
|
机器学习/深度学习 自然语言处理 并行计算
【深度学习+面经】Transformer 网络学习笔记
Transformer模型的核心概念、优缺点以及在多个领域的应用,并提供了针对Transformer架构的面试问题及答案。
59 2
|
2月前
|
安全 网络协议 网络安全
Python Socket编程大揭秘:从菜鸟到黑客的进阶之路,你准备好了吗?
【7月更文挑战第27天】Python Socket编程是网络开发的关键技能,它开启从简单数据传输到复杂应用的大门。Socket作为网络通信的基础,通过Python的`socket`模块可轻松实现跨网通信。
36 0