`
lance2002
  • 浏览: 7410 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

JAVA通过UDP协议进行网络通信

 
阅读更多



 

1、相对于TCP协议,UDP协议减少了建立通信的阶段,所以说,UDP的数据发送不是可靠的
 


 

package com.test.udp;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.text.SimpleDateFormat;
import java.util.Date;
public class UDPServerTest {
    public static void main(String[] args) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        DatagramSocket server = null;
        try {
            // 通过5050端口建立UDP服务端
            server = new DatagramSocket(5050);
            System.out.println(sdf.format(new Date()) + " UDP服务监听启动!");
            // 设置接收数据的缓冲区大小
            byte[] recvBuf = new byte[100];
            // 建立存放数据的数据报
            DatagramPacket recvPacket = new DatagramPacket(recvBuf, recvBuf.length);
            while (true) {
                // 建立服务端数据监听,此处阻塞
                server.receive(recvPacket);
                // 接收到数据后,取出数据
                String recvStr = new String(recvPacket.getData(), 0, recvPacket.getLength());
                System.out.println(sdf.format(new Date()) + " 从UDP客户端接收到消息:" + recvStr);
                System.out.println();
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            server.close();
        }
    }
}

 

 

package com.test.udp;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.text.SimpleDateFormat;
import java.util.Date;
public class UDPClientTest {
    public static void main(String[] args) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        DatagramSocket client = null;
       
        try {
            client = new DatagramSocket();
           
            BufferedReader brIn = new BufferedReader(new InputStreamReader(System.in));
            // 从系统标准输入读入一字符串
            String readline = brIn.readLine();
            // 若从标准输入读入的字符串为 "bye"则停止循环
            while (!readline.equals("bye")) {
                byte[] sendBuf = readline.getBytes();
                InetAddress addr = InetAddress.getByName("127.0.0.1");
                int port = 5050;
                DatagramPacket sendPacket = new DatagramPacket(sendBuf, sendBuf.length, addr, port);
                client.send(sendPacket);
                System.out.println(sdf.format(new Date()) + " 向UDP服务端发送消息:" + readline);
                System.out.println();
                System.out.print("请输入需要发送给UDP服务端的消息:");
                readline = brIn.readLine();
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            client.close();
        }
    }
}

 

  • 大小: 28.1 KB
分享到:
评论

相关推荐

    java基于UDP协议的聊天程序(完整版)

    Java基于UDP协议的聊天程序是一种实现网络通信的应用实例,它利用了无连接的用户数据报协议(User Datagram Protocol,简称UDP)进行数据传输。在这个完整版的程序中,开发者已经完成了从设计到调试的全部过程,使其...

    java使用udp协议和硬件进行数据收发处理

    Java网络编程中,UDP(User Datagram Protocol)是一种无连接的、不可靠的传输协议,它在TCP/IP协议栈中位于传输层。...通过实践和学习,我们可以熟练掌握在Java中使用UDP协议进行数据收发处理的技术。

    Java实现udp通信协议

    1. **UDP协议原理**:UDP是一种无连接的协议,它不建立连接就直接发送数据,因此速度较快但不保证数据的可靠传输。每个UDP数据包都包含源和目标的IP地址和端口号,这使得多播和广播成为可能。 2. **Java的Socket...

    java网络编程之UDP协议通信

    Java网络编程中的UDP...通过这个项目,你可以深入理解Java网络编程中的UDP通信,了解如何使用Socket API创建UDP客户端和服务器,并实践如何结合GUI进行交互式通信。这不仅有助于理论学习,也提供了实际操作的经验。

    JAVA udp 协议编程

    Java UDP协议编程主要涉及到网络通信中的无连接服务,它的特点是快速、简单,但不保证数据的可靠传输。UDP(User Datagram Protocol)在OSI模型的传输层中运作,与TCP协议相比,它不进行数据包的分组、组装和排序,...

    UDP.rar_UDP_UDP 协议_UDP 通信协议_java udp

    UDP(User Datagram Protocol)是...总之,UDP协议因其轻量级和高效性,在许多实时应用中被广泛使用,而Java提供了方便的API来实现基于UDP的网络通信。理解UDP的工作原理和Java中的相关API,是进行UDP网络编程的基础。

    Java利用UDP协议实现多广播组通信源码

    总结来说,Java利用UDP协议实现多播广播组通信涉及的主要步骤包括创建MulticastSocket、加入多播组、发送和接收数据,以及设计GUI以提供用户友好的交互。这种通信方式在多媒体流、在线会议等需要实时性且无需保证...

    使用Java控制UDP协议.rar_使用UDP协议_数据包

    **标题与描述解析** 标题“使用Java控制UDP协议.rar_使用UDP协议_数据包”指出,这个...通过学习这个压缩包的内容,开发者可以掌握Java环境下使用UDP协议进行网络通信的基本技巧,从而实现高效且实时的网络应用。

    java网络编程UDP协议通信

    通过java网络编程深入理解UDP协议通信,与TCP的区别等等 源码包每一行都有注释,在代码里面每一个类都有详细的注释来解释这个类的功能这个方法的功能,调用哪一个类的哪一个功能等等。 压缩包包含实验报告(实验原理...

    Java实现udp协议的文件传输

    在IT领域,网络通信是不可或缺的一部分,而UDP(User Datagram Protocol)协议因其无连接、高效的特点,常被用于对实时性要求较高的应用,如在线视频流传输、语音通话等。本篇文章将深入探讨如何使用Java语言来实现...

    java语言UDP通信

    Java语言中的UDP(User Datagram Protocol)通信是一种基于无连接的数据包网络协议,相较于TCP,它提供了更低的延迟和更高的吞吐量,但不保证数据的顺序和可靠性。在Java中,我们通过`java.net`包中的`...

    UDP协议通信

    UDP(User Datagram Protocol)协议...通过这个UDPTest的源代码,你可以学习到如何在实际项目中应用UDP协议进行网络通信,并了解如何处理相关问题。对于想要了解或实践网络编程的开发者来说,这是一个很好的学习资源。

    c与Java的UDP收发

    学习C和Java的UDP收发,需要掌握网络编程的基本概念,理解UDP协议的工作原理,熟悉C和Java的套接字API。同时,实现C与Java的互发,需要关注数据编码和跨平台兼容性问题。通过分析提供的代码示例,可以深入理解这一...

    java基于UDP协议的聊天程序(可运行).zip

    Java基于UDP协议的聊天程序是一种实现网络通信的应用实例,它利用了UDP(User Datagram Protocol,用户数据报协议)这一无连接、不可靠的传输协议。UDP的特点在于其速度较快,因为不需要建立和维护连接,适合实时性...

    UDP与TCP协议通信

    自已写的通信功能,两个机器互发信息,东西虽小,技术却一点没少,新手学习很方便

    java基于UDP协议的聊天程序(完整版).rar.rar

    Java基于UDP协议的聊天程序是一种实现网络通信的应用实例,它利用了UDP(User Datagram Protocol,用户数据报协议)这一无连接的传输层协议。UDP在TCP/IP协议族中扮演着重要角色,它提供了不可靠、无序的数据传输...

    基于java的TCP 和 UDP 协议源代码

    在计算机网络中,TCP(传输控制协议)和UDP(用户数据报协议)是两种主要的传输层协议,它们各自有着不同的特性和...通过仔细研究并运行这些源代码,你可以加深对TCP和UDP协议的理解,同时提升你的Java网络编程能力。

    java接听UDP广播

    Java UDP(用户数据报协议)是网络编程中的一个重要部分,尤其在需要低延迟、无连接通信的场景下。本文将详细讲解如何使用Java来实现一个UDP广播监听器,以接收并处理UDP广播数据。 首先,我们需要理解UDP的基本...

    JAVA进行UDP编程

    UDP(User Datagram Protocol)是传输层的一个无连接协议,它提供了简单、快速的数据传输服务,但不保证数据...实际开发中,根据需求选择合适的方式进行网络通信,并注意处理可能出现的问题,确保程序的稳定性和效率。

    一个基于UDP协议的网络聊天程序.rar_udp java_udp java 聊天_私聊_网络聊天_聊天

    标题中的“一个基于UDP协议的网络聊天程序”指的是使用UDP(User Datagram Protocol)协议开发的网络通信应用,这种协议属于传输层协议,主要用于无连接的数据传输,特点是速度快但不保证数据的顺序和可靠性。在Java...

Global site tag (gtag.js) - Google Analytics