资讯专栏INFORMATION COLUMN

Java Socket编程之UDP编程

ityouknow / 2156人阅读

摘要:更多资料请看编程之编程协议用户数据报协议是无连接的不可靠的无序的速度快进行数据传输时,首先将要传输的数据定义成数据报,大小限制在,在数据报中指明数据索要达到的主机地址和端口号,然后再将数据报发送出去类表示数据报包类进行端到端通信的类服务器端

更多资料请看:https://www.yuque.com/shizhiy...

Java Socket编程之UDP编程

UDP协议(用户数据报协议)是无连接的、不可靠的、无序的,速度快
      进行数据传输时,首先将要传输的数据定义成数据报(Datagram),大小限制在64k,在数据报中指明数据索要达到的Socket(主机地址和端口号),然后再将数据报发送出去;
**
      DatagramPacket类:表示数据报包
      DatagramSocket类:进行端到端通信的类

服务器端实现步骤

创建DatagramSocket,指定端口号

创建DatagramPacket

接受客户端发送的数据信息

读取数据

//服务器端,实现基于UDP的用户登录
//1、创建服务器端DatagramSocket,指定端口
DatagramSocket socket =new datagramSocket(10010);
//2、创建数据报,用于接受客户端发送的数据
byte[] data =newbyte[1024];//
DatagramPacket packet =newDatagramPacket(data,data.length);
//3、接受客户端发送的数据
socket.receive(packet);//此方法在接受数据报之前会一致阻塞
//4、读取数据
String info =newString(data,o,data.length);
System.out.println("我是服务器,客户端告诉我"+info);


//=========================================================
//向客户端响应数据
//1、定义客户端的地址、端口号、数据
InetAddress address = packet.getAddress();
int port = packet.getPort();
byte[] data2 = "欢迎您!".geyBytes();
//2、创建数据报,包含响应的数据信息
DatagramPacket packet2 = new DatagramPacket(data2,data2.length,address,port);
//3、响应客户端
socket.send(packet2);
//4、关闭资源
socket.close();

客户端实现步骤

定义发送信息

创建DatagramPacket,包含将要发送的信息

创建DatagramSocket

发送数据

//客户端
//1、定义服务器的地址、端口号、数据
InetAddress address =InetAddress.getByName("localhost");
int port =10010;
byte[] data ="用户名:admin;密码:123".getBytes();
//2、创建数据报,包含发送的数据信息
DatagramPacket packet = newDatagramPacket(data,data,length,address,port);
//3、创建DatagramSocket对象
DatagramSocket socket =newDatagramSocket();
//4、向服务器发送数据
socket.send(packet);


//接受服务器端响应数据
//======================================
//1、创建数据报,用于接受服务器端响应数据
byte[] data2 = new byte[1024];
DatagramPacket packet2 = new DatagramPacket(data2,data2.length);
//2、接受服务器响应的数据
socket.receive(packet2);
String raply = new String(data2,0,packet2.getLenth());
System.out.println("我是客户端,服务器说:"+reply);
//4、关闭资源
socket.close();

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/74406.html

相关文章

  • Java Socket编程常识网络基础知识

    摘要:如地址端口号组成了所谓的,是网络上运行的程序之间双向通信链路的终结点,是和的基础套接字网络上具有唯一标识的地址和端口组合在一起才能构成唯一能识别的标识符套接字。 更多物联网高并发编程知识请移步:https://www.yuque.com/shizhiy... Java Socket编程之常识网络基础知识 网络基础知识(参考计算机网络)  《TCP/IP协议栈及OSI参考模型详解》  ...

    Jeff 评论0 收藏0
  • Android网络编程Socket

    摘要:面向字节流流,指的是流入到进程或从进程流出的字符序列。即收到连接信息后向返回确认信息第三次握手客户端收到服务器的报文段,并向服务器发送报文段。 前言 Socket的使用在 Android网络编程中非常重要 今天我将带大家全面了解 Socket 及 其使用方法 目录 showImg(https://segmentfault.com/img/remote/14600000113508...

    The question 评论0 收藏0
  • Java 网络编程(2):UDP 的使用

    摘要:现在在本机同一局域网的一台机器和阿里云主机上都运行然后启动发送端接收端接收结果可以看到每个接收端都正确的接收了发送端发送的消息。 今天的主角是 UDP(User Datagram Protocol,用户数据报协议)。我们都知道 TCP 是一种可靠的协议 —— 首先客户端和服务端需要建立连接(三次握手),数据发送完毕需要断开连接(四次挥手);如果发送数据时数据损坏或者丢失,那么 TCP ...

    learn_shifeng 评论0 收藏0
  • Python 网络编程 UDP 协议

    摘要:创建创建通信接受套接字的数据,与类似,但返回值是。发送数据,将数据发送到,形式为,指定远程地址发送,返回值是发送的字节数发送的报文是类型,发送的报文是类型,在发送前要记得编码。 UDP 和 TCP 的区别   TCP UDP 连接性 面向连接 面向无连接 传输可靠性 可靠 不可靠 传输模式 流 数据报 应用场景 传输大量的数据 少量数据 速度 慢 快 T...

    waterc 评论0 收藏0

发表评论

0条评论

ityouknow

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<