`
lzj0470
  • 浏览: 1276671 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

一个简单的Java UDP协议通信的例子

    博客分类:
  • java
阅读更多

一个简单的Java UDP协议通信的例子

server:

import java.net.*;

public class UDPServer {
    private static final int PORT = 5000;
    private DatagramSocket dataSocket;
    private DatagramPacket dataPacket;
    private byte receiveByte[];
    private String receiveStr;

    public UDPServer() {
        Init();
    }

    public void Init() {
        try {
            dataSocket = new DatagramSocket(PORT);
            receiveByte = new byte[1024];
            dataPacket = new DatagramPacket(receiveByte, receiveByte.length);
            receiveStr = "";
            int i = 0;
            while (i == 0)// 无数据,则循环

            {
                dataSocket.receive(dataPacket);
                i = dataPacket.getLength();
                // 接收数据

                if (i > 0) {
                    // 指定接收到数据的长度,可使接收数据正常显示,开始时很容易忽略这一点

                    receiveStr = new String(receiveByte, 0, dataPacket.getLength());
                    System.out.println(receiveStr);
                    i = 0;// 循环接收

                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void main(String args[]) {
        new UDPServer();
    }
}


client:

import java.io.*;
import java.net.*;

public class UDPClient {
    private static final int PORT = 4561;
    private DatagramSocket dataSocket;
    private DatagramPacket dataPacket;
    private byte sendDataByte[];
    private String sendStr;

    public UDPClient() {
        Init();
    }

    public void Init() {
        try {
            // 指定端口号,避免与其他应用程序发生冲突

            dataSocket = new DatagramSocket(PORT+1);
            sendDataByte = new byte[1024];
            sendStr = "UDP方式发送数据";
            sendDataByte = sendStr.getBytes();
            dataPacket = new DatagramPacket(sendDataByte, sendDataByte.length,
                    InetAddress.getByName("localhost"), PORT);
            dataSocket.send(dataPacket);
        } catch (SocketException se) {
            se.printStackTrace();
        } catch (IOException ie) {
            ie.printStackTrace();
        }
    }

    public static void main(String args[]) {
        new UDPClient();
    }
}

分享到:
评论
2 楼 lzj0470 2010-07-10  
ackerman 写道
你好,好像client部分的
dataPacket = new  DatagramPacket(sendDataByte, sendDataByte.length,
                    InetAddress.getByName("localhost"), PORT);

其中的PORT应该为server的5000吧,呵呵,调试通过了。

1 楼 ackerman 2010-07-10  
你好,好像client部分的
dataPacket = new  DatagramPacket(sendDataByte, sendDataByte.length,
                    InetAddress.getByName("localhost"), PORT);

其中的PORT应该为server的5000吧,呵呵,调试通过了。

相关推荐

    JAVA UDP协议实现绘圆同步

    Java UDP协议实现绘圆同步是一种基于用户数据报协议(UDP)的简单通信方式,用于在客户端和服务端之间实时同步绘制图形。在这个例子中,我们有两个关键类:`DrawServer` 和 `DrawClient`。 `DrawServer` 类是服务器...

    UDP通信例子,速度较快的协议

    这个“UDP通信例子”可能是一个演示如何使用UDP进行数据传输的程序,对于初学者来说,理解并实现这样的例子可以帮助他们深入理解UDP的工作原理和使用方式。以下是一些关键的知识点: 1. **UDP报文结构**:每个UDP...

    UDP.rar_java udp_udp例子

    UDP(User Datagram Protocol)...UDP协议提供了高效但不可靠的传输,适合实时性要求高但对数据完整性不敏感的应用场景,如在线视频流和多人在线游戏。通过学习和实践这些基础概念,开发者能够构建自己的UDP通信应用。

    java udp 实现简单实例

    本文将通过一个简单的实例来介绍如何使用Java实现UDP通信。 首先,我们来看一下UDP通信中的两个主要类:`DatagramPacket`和`DatagramSocket`。 1. `DatagramPacket`类: - `DatagramPacket`用于封装数据,并指定...

    Java TcpUdp小例子(非异步)

    `TCPServer.java`中的`TCPServer`类展示了如何创建一个简单的TCP服务器。服务器监听特定端口(在这个例子中是8887),等待客户端连接。一旦有客户端连接,服务器将接收并处理来自客户端的数据。服务器端的主要组件...

    Java的UDP通讯.zip_UDP通讯小例子_java udp

    Java的UDP通讯是一种基于用户数据报协议(User Datagram Protocol)的网络通信方式,与TCP相比,UDP具有更快的传输速度,但不保证数据的顺序和完整性。本示例提供了两个关键文件:`WebServer.java` 和 `UDPServerA....

    一款iOS平台UDP双向通信源码

    在源码中,`ios_echo_client_udp`很可能是一个简单的UDP回显客户端,它向服务器发送一个数据包,然后等待服务器回传相同的数据。这是测试网络连接和延迟的一个常见做法。客户端发送一个消息,服务器接收到后立即原样...

    JAVA读写PLC物联网Modbus RTU Modbus TCP Modbus UDP通信,JAVA与Modbus通信源码

    Modbus允许多个 (大约240个) 设备连接在同一个网络上进行通信,举个例子,一个由测量温度和湿度的装置,并且将结果发送给计算机。Modbus支持的具体协议有:Modbus TCP、Modbus UDP、Modbus RTU、ModbusRtuOverTcp、...

    Java Socket编程实现UDP网络测试

    在"UDPPinger"这个例子中,可能是一个简单的UDP回显客户端和服务端程序。客户端发送数据包到服务端,服务端接收到数据后原样返回,类似于TCP的`ping`命令。这个程序可以帮助我们理解UDP的发送和接收过程,以及如何...

    Mina自定义协议通信的示例

    总的来说,Mina自定义协议通信示例是一个很好的学习资源,它涵盖了网络编程的核心概念,如事件驱动模型、非阻塞I/O和自定义编解码。通过深入理解并实践这个示例,开发者能更好地掌握Mina框架,并有能力解决复杂网络...

    欧姆龙以太网通讯TCP_UDP例子及欧姆龙PLC程序例子说明.zip

    总结来说,这个压缩包提供了一个全面的欧姆龙以太网通讯教程,涵盖了TCP和UDP两种协议的应用,以及欧姆龙PLC编程中的具体实现,对于想要在工业自动化领域中使用欧姆龙PLC进行网络通信的工程师来说,是一份非常实用的...

    udp例子【一个简单的说明udp原理的例子,可以参考学学。】

    4. 错误检查:虽然UDP不提供像TCP那样的错误纠正机制,但它还是有一个简单的校验和,用于检测数据在传输过程中是否出错。 学习UDP时,我们可以从以下几个方面入手: 1. UDP头格式:UDP头部只有8个字节,包括源端口...

    java_UDPSocket_codes.rar_ServerThread_java udp程序

    总之,这个压缩包提供了一个学习Java UDP多线程通信的好起点,包括服务器端的`ServerThread`实现、简单的客户端示例,以及多线程Socket编程的参考资料。通过对这些代码和资料的学习,开发者可以掌握创建高效、可扩展...

    java udp例子

    Java UDP(用户数据报协议)是网络编程中的一个重要部分,特别是在需要低延迟、无连接通信的场景下。UDP是一种无连接的传输层协议,与TCP(传输控制协议)相比,它不提供顺序传递、错误校验或重传机制,因此速度更快...

    UDP通信过程详解+附Java实现方式(wcb2003)

    在Java中,UDP通信的一个简单示例如下: ```java import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; public class UDPServer { public...

    java小程序 基于UDP协议的会话小练习

    以下是一个简单的发送端示例: ```java import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; public class UDPSend { public static ...

    java文件传输等一些例子(两种通信方式)

    以下是一个简单的UDP通信示例: 1. 发送方创建一个DatagramSocket实例,准备发送数据。数据封装到DatagramPacket中,指定目标IP地址和端口。 2. 接收方同样创建一个DatagramSocket实例,监听特定端口。使用...

    UDP的发送接收例子 及SNMP trap

    这个文件通常包含一个简单的UDP数据发送程序。在Java中,我们使用`java.net.DatagramSocket`类来创建一个UDP套接字,然后用`DatagramPacket`封装要发送的数据和目标地址。例如,我们可能先创建一个`DatagramSocket`...

    基于java_UDP广播的聊天室程序

    【Java UDP广播的聊天室程序】是一个利用Java网络编程中的UDP协议实现的多用户交互平台。UDP(User Datagram Protocol)是一种...通过实践这个项目,开发者可以深入理解如何在Java环境中实现一个简单的多用户通信系统。

    JAVA UDP SendString TEST OK

    - 如何设计和组织一个简单的UDP发送程序。 如果要扩展这个测试,可以考虑实现接收端的代码,使用`receive()`方法来获取从网络接收到的数据,并进行适当的解析和处理。此外,可以添加多线程以实现并发发送和接收,...

Global site tag (gtag.js) - Google Analytics