java网络编程(UDP详解)

前端之家收集整理的这篇文章主要介绍了java网络编程(UDP详解)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

UDP详解@H_502_3@

502_3@一,TCP/IP协议栈中,TCP协议和UDP协议的联系和区别?

    联系:

      TCP和UDP是TCP/IP协议栈中传输层的两个协议,它们使用网络层功能把数据包发送到目的地,从而为应用层提供网络服务。

    区别:

      1. TCP是面向连接的传输。UDP是无连接的传输。

      2. TCP保证数据按照发送顺序到达,UDP无法保证。

      4. TCP是可靠性传输,而UDP则是不可靠传输。

      5. UDP因为少了很多控制信息,所以传输速度比TCP速度快。

      6. TCP适合用于传输大量数据,UDP适合用于传输小量数据。

      举例:502_3@的server和client之间通信就好比502_3@。502_3@的server和client之间的通信就像502_3@。

  @H_502_3@二,UDP通讯协议的特点:

      1. 将数据极封装为数据包,面向无连接。

       2. 每个数据包大小限制在64K中

       3.因为无连接,所以不可靠

      4. 因为不需要建立连接,所以速度快

      5.udp 通讯是不分服务端与客户端的,只分发送端与接收端

  三,怎样来编写UDP?

      发送数据步骤:

        1.创建socket服务

        2.创建数据包

        3.将数据封装到数据包中,添加ip和端口以及数据

        4.发送

        5.关闭资源

      接收数据步骤:

        1.创建socket服务,并监听端口

        2.创建数据包,用来接收数据

        3.用socket接收数据到数据包中

        4.从数据包中取出数据

        5.关闭资源

  四,代码实现UDP通信

代码@H_502_3@

502_3@ 502_3@502_3@502_3@ 502_3@502_3@502_3@ 502_3@502_3@502_3@ 502_3@502_3@502_3@ 502_3@502_3@502_3@ 502_3@ 502_3@ 502_3@502_3@502_3@ 502_3@ Scanner sc= 502_3@502_3@502_3@ 502_3@ 502_3@ 502_3@ main(String[] args) 502_3@502_3@502_3@ 502_3@套接字@H_502_3@ 502_3@ DatagramSocket ds = 502_3@502_3@502_3@ 502_3@502_3@ 502_3@ 502_3@(502_3@502_3@502_3@ System.out.println("请输入要发送的信息:"502_3@502_3@ String info =502_3@502_3@ 502_3@ []buf =502_3@502_3@ DatagramPacket dp = 502_3@502_3@502_3@ InetAddress.getByName("localhost"),152502_3@502_3@ 502_3@502_3@ 502_3@ 502_3@502_3@ 502_3@502_3@ 502_3@ 502_3@("886"502_3@502_3@ 502_3@502_3@502_3@ 502_3@502_3@ 502_3@502_3@ 502_3@关闭套接字@H_502_3@ 502_3@ 502_3@502_3@ 502_3@502_3@ }

    2.服务端代码@H_502_3@

502_3@ 502_3@502_3@502_3@ 502_3@502_3@502_3@ 502_3@502_3@502_3@ 502_3@502_3@502_3@ 502_3@ 502_3@ 502_3@502_3@502_3@ 502_3@ 502_3@ 502_3@ main(String[] args) 502_3@502_3@502_3@ 502_3@套接字@H_502_3@ 502_3@ DatagramSocket ds = 502_3@ DatagramSocket(152);502_3@502_3@502_3@ 502_3@502_3@ 502_3@ 502_3@(502_3@502_3@502_3@ 502_3@ [] buf =502_3@ 502_3@[1024502_3@502_3@ DatagramPacket dp = 502_3@502_3@502_3@ 502_3@502_3@ 502_3@ 502_3@502_3@ 502_3@502_3@ 502_3@ 502_3@[] data =502_3@502_3@ 502_3@获取客户端IP和主机名@H_502_3@ 502_3@ InetAddress ip =502_3@502_3@ String host =502_3@502_3@ 502_3@502_3@ 502_3@ String info = 502_3@ String(buf,0502_3@502_3@ System.out.println("来自"+host+"的消息是:"+502_3@502_3@ 502_3@502_3@ 502_3@关闭套接字@H_502_3@ 502_3@ 502_3@502_3@ 502_3@502_3@ }

502_3@

链接:https://pan.baidu.com/s/1KWR9JHQ20uy0mx-1CIBwvA提取码:3dn8@H_502_3@

原文链接:https://www.f2er.com/java/67038.html

猜你在找的Java相关文章