java网络编程:11、基于UDP的socket编程(一)理论、基本步骤

版权声明:本文为博主原创文章,不得随意转载,转载请注明出处!!! https://blog.csdn.net/YuDBL/article/details/86068096

声明:本教程不收取任何费用,欢迎转载,尊重作者劳动成果,不得用于商业用途,侵权必究!!!

文章目录

一、基于UDP的socket编程

二、基本步骤

三、系列文章(java网络编程)


一、基于UDP的socket编程

对于基于UDP通信来说,通信双方不需要建立连接,也就不需要有一方去等待连接。所以说它们对于服务器和客户端的这种概念不是很明显。

对于基于UDP通信的双方,有一方是需要先启动的,如果有一方在发送数据的时候,接收方没有启动,那么数据就会存在没有接受者而丢失,我们可以把接收者作为服务器发送者作为客户端

那么和基于TCP的通信比较的话,我们会发现作为服务器的一方,总是先启动的一方,在java中编写基于UDP通信的程序是非常简单的。

我们首先创建数据报套接字DatagramSocket,基于UDP的套接字我们可以称为数据报套接字,当你构造数据报套接字之后,我们可以利用DatagramSocket类中的这两个方法:一个是receive方法去接收一个数据包,一个是send方法去发送一个数据包。

具体如下图:

二、基本步骤

接收端程序的基本步骤:

①调用DatagramSocket(int port)创建一个数据报套接字,并绑定到指定端口上;②调用DatagramPacket(byte[]buf,int length),建立一个字节数组以接收UDP包。③调用DatagramSocket类的receive(),接收UDP包。④最后关闭数据报套接字。

发送端程序的基本步骤:

①调用DatagramSocket()创建一个数据报套接字;②调用DatagramPacket(byte[]buf,int offset,int length,InetAddress address,int port),建立要发送的UDP包。③调用DatagramSocket类的send(),发送UDP包。④最后关闭数据报套接字。

三、系列文章(java网络编程)

 java网络编程:1、计算机网络?网络通信的组成?什么是ip、协议、端口号?

 java网络编程:2、IP地址、协议、网络状况、网络异质性问题的解决

 java网络编程:3、ISO/OSI七层参考模型

 java网络编程:4、OSI各层所使用的协议

 java网络编程:5、数据封装

 java网络编程:6、TCP/IP模型、TCP/IP模型与OSI参考模型的对应关系

 java网络编程:7、端口、套接字(socket)的引入

 java网络编程:8、基于TCP的socket编程(一)简单的socket通信_一个客户端

 java网络编程:9、基于TCP的socket编程(二)服务器端循环监听接收多个客户端_多线程服务器程序

 java网络编程:10、基于TCP的socket编程(三)缓冲流、flush方法、关闭流

 java网络编程:11、基于UDP的socket编程(一)理论、基本步骤

 java网络编程:12、基于UDP的socket编程(二)代码通信-简单实例

 java网络编程:13、基于UDP的socket编程(三)实现相互发送接收消息

猜你喜欢

转载自blog.csdn.net/YuDBL/article/details/86068096
今日推荐