网络编程: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();

}

}

 

相关文章
|
2月前
|
Java
[Java]Socket套接字(网络编程入门)
本文介绍了基于Java Socket实现的一对一和多对多聊天模式。一对一模式通过Server和Client类实现简单的消息收发;多对多模式则通过Server类维护客户端集合,并使用多线程实现实时消息广播。文章旨在帮助读者理解Socket的基本原理和应用。
33 1
|
2月前
|
网络协议 Java API
【网络】TCP回显服务器和客户端的构造,以及相关bug解决方法
【网络】TCP回显服务器和客户端的构造,以及相关bug解决方法
72 2
|
2月前
|
存储 网络协议 Java
【网络】UDP回显服务器和客户端的构造,以及连接流程
【网络】UDP回显服务器和客户端的构造,以及连接流程
61 2
|
2月前
|
网络协议 Linux 网络性能优化
Linux基础-socket详解、TCP/UDP
综上所述,Linux下的Socket编程是网络通信的重要组成部分,通过灵活运用TCP和UDP协议,开发者能够构建出满足不同需求的网络应用程序。掌握这些基础知识,是进行更复杂网络编程任务的基石。
178 1
|
2月前
|
安全 区块链 数据库
|
2月前
|
网络协议 测试技术 网络安全
Python编程-Socket网络编程
Python编程-Socket网络编程
31 0
|
3月前
|
网络协议 C语言
C语言 网络编程(十)TCP通信创建流程---客户端
在TCP通信中,客户端需通过一系列步骤与服务器建立连接并进行数据传输。首先使用 `socket()` 函数创建一个流式套接字,然后通过 `connect()` 函数连接服务器。连接成功后,可以使用 `send()` 和 `recv()` 函数进行数据发送和接收。最后展示了一个完整的客户端示例代码,实现了与服务器的通信过程。
|
4月前
|
API Windows
揭秘网络通信的魔法:Win32多线程技术如何让服务器化身超级英雄,同时与成千上万客户端对话!
【8月更文挑战第16天】在网络编程中,客户/服务器模型让客户端向服务器发送请求并接收响应。Win32 API支持在Windows上构建此类应用。首先要初始化网络环境并通过`socket`函数创建套接字。服务器需绑定地址和端口,使用`bind`和`listen`函数准备接收连接。对每个客户端调用`accept`函数并在新线程中处理。客户端则通过`connect`建立连接,双方可通过`send`和`recv`交换数据。多线程提升服务器处理能力,确保高效响应。
59 6
|
4月前
|
网络协议 Java
一文讲明TCP网络编程、Socket套接字的讲解使用、网络编程案例
这篇文章全面讲解了基于Socket的TCP网络编程,包括Socket基本概念、TCP编程步骤、客户端和服务端的通信过程,并通过具体代码示例展示了客户端与服务端之间的数据通信。同时,还提供了多个案例分析,如客户端发送信息给服务端、客户端发送文件给服务端以及服务端保存文件并返回确认信息给客户端的场景。
一文讲明TCP网络编程、Socket套接字的讲解使用、网络编程案例
|
3月前
|
网络协议 Linux
TCP 和 UDP 的 Socket 调用
【9月更文挑战第6天】