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

}

}

 

相关文章
|
6月前
|
JSON 中间件 Go
Go 网络编程:HTTP服务与客户端开发
Go 语言的 `net/http` 包功能强大,可快速构建高并发 HTTP 服务。本文从创建简单 HTTP 服务入手,逐步讲解请求与响应对象、URL 参数处理、自定义路由、JSON 接口、静态文件服务、中间件编写及 HTTPS 配置等内容。通过示例代码展示如何使用 `http.HandleFunc`、`http.ServeMux`、`http.Client` 等工具实现常见功能,帮助开发者掌握构建高效 Web 应用的核心技能。
380 61
|
6月前
|
运维 网络协议 Go
Go网络编程:基于TCP的网络服务端与客户端
本文介绍了使用 Go 语言的 `net` 包开发 TCP 网络服务的基础与进阶内容。首先简述了 TCP 协议的基本概念和通信流程,接着详细讲解了服务端与客户端的开发步骤,并提供了简单回显服务的示例代码。同时,文章探讨了服务端并发处理连接的方法,以及粘包/拆包、异常检测、超时控制等进阶技巧。最后通过群聊服务端的实战案例巩固知识点,并总结了 TCP 在高可靠性场景中的优势及 Go 并发模型带来的便利性。
|
Ubuntu 网络协议 Unix
02理解网络IO:实现服务与客户端通信
网络IO指客户端与服务端通过网络进行数据收发的过程,常见于微信、QQ等应用。本文详解如何用C语言实现一个支持多客户端连接的TCP服务端,涉及socket编程、线程处理及通信流程,并分析“一消息一线程”模式的优缺点。
337 0
|
10月前
|
监控 Linux PHP
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
362 20
|
9月前
|
机器学习/深度学习 API Python
Python 高级编程与实战:深入理解网络编程与异步IO
在前几篇文章中,我们探讨了 Python 的基础语法、面向对象编程、函数式编程、元编程、性能优化、调试技巧、数据科学、机器学习、Web 开发和 API 设计。本文将深入探讨 Python 在网络编程和异步IO中的应用,并通过实战项目帮助你掌握这些技术。
|
10月前
|
网络协议 算法 安全
Go语言的网络编程与TCP_UDP
Go语言由Google开发,旨在简单、高效和可扩展。本文深入探讨Go语言的网络编程,涵盖TCP/UDP的基本概念、核心算法(如滑动窗口、流量控制等)、最佳实践及应用场景。通过代码示例展示了TCP和UDP的实现,并讨论了其在HTTP、DNS等协议中的应用。最后,总结了Go语言网络编程的未来发展趋势与挑战,推荐了相关工具和资源。
326 5
|
监控 安全
公司上网监控:Mercury 在网络监控高级逻辑编程中的应用
在数字化办公环境中,公司对员工上网行为的监控至关重要。Mercury 作为一种强大的编程工具,展示了在公司上网监控领域的独特优势。本文介绍了使用 Mercury 实现网络连接监听、数据解析和日志记录的功能,帮助公司确保信息安全和工作效率。
265 51
|
10月前
|
监控 关系型数据库 MySQL
【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
319 0
|
监控 网络协议 网络性能优化
网络通信的核心选择:TCP与UDP协议深度解析
在网络通信领域,TCP(传输控制协议)和UDP(用户数据报协议)是两种基础且截然不同的传输层协议。它们各自的特点和适用场景对于网络工程师和开发者来说至关重要。本文将深入探讨TCP和UDP的核心区别,并分析它们在实际应用中的选择依据。
407 3
|
数据库连接 Go 数据库
Go语言中的错误注入与防御编程。错误注入通过模拟网络故障、数据库错误等,测试系统稳定性
本文探讨了Go语言中的错误注入与防御编程。错误注入通过模拟网络故障、数据库错误等,测试系统稳定性;防御编程则强调在编码时考虑各种错误情况,确保程序健壮性。文章详细介绍了这两种技术在Go语言中的实现方法及其重要性,旨在提升软件质量和可靠性。
214 1

热门文章

最新文章