`
itoracja
  • 浏览: 142765 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java使用UDP来进行客户端和服务器端通信的简单例子

    博客分类:
  • java
阅读更多
    1:客户端程序
view plain

    package com.pb.udp; 
     
    import java.io.ioexception; 
    import java.net.datagrampacket; 
    import java.net.inetaddress; 
    import java.net.unknownhostexception; 
    import java.net.datagramsocket; 
     
    /**
     *  使用sender类来代表客户端程序,
     * @author ccna_zhang
     *
     */ 
    public class sender { 
     
        public static void main(string[] args) { 
            string msg = "hello, world"; 
            byte[] buf = msg.getbytes(); 
            try { 
                inetaddress address = inetaddress.getbyname("192.168.1.80");  //服务器地址 
                int port = 8080;  //服务器的端口号 
                //创建发送方的数据报信息 
                datagrampacket datagrampacket = new datagrampacket(buf, buf.length, address, port); 
                 
                datagramsocket socket = new datagramsocket();  //创建套接字 
                socket.send(datagrampacket);  //通过套接字发送数据 
                 
                //接收服务器反馈数据 
                byte[] backbuf = new byte[1024]; 
                datagrampacket backpacket = new datagrampacket(backbuf, backbuf.length); 
                socket.receive(backpacket);  //接收返回数据 
                string backmsg = new string(backbuf, 0, backpacket.getlength()); 
                system.out.println("服务器返回的数据为:" + backmsg); 
                 
                socket.close(); 
                 
            } catch (unknownhostexception e) { 
                e.printstacktrace(); 
            } catch (ioexception e) { 
                e.printstacktrace(); 
            } 
        } 
    } 


2:服务器端程序
view plain

    package com.pb.udp; 
     
    import java.io.ioexception; 
    import java.net.datagrampacket; 
    import java.net.datagramsocket; 
    import java.net.inetaddress; 
    import java.net.socketaddress; 
    import java.net.unknownhostexception; 
     
    /**
     * 服务器端程序
     * @author ccna_zhang
     *
     */ 
    public class receiver { 
     
        public static void main(string[] args) { 
             
            try { 
                inetaddress address = inetaddress.getlocalhost(); 
                int port = 8080;   
                 
                //创建datagramsocket对象 
                datagramsocket socket = new datagramsocket(port, address); 
                 
                byte[] buf = new byte[1024];  //定义byte数组 
                datagrampacket packet = new datagrampacket(buf, buf.length);  //创建datagrampacket对象 
                 
                socket.receive(packet);  //通过套接字接收数据 
                 
                string getmsg = new string(buf, 0, packet.getlength()); 
                system.out.println("客户端发送的数据为:" + getmsg); 
                 
                //从服务器返回给客户端数据 
                inetaddress clientaddress = packet.getaddress(); //获得客户端的ip地址 
                int clientport = packet.getport(); //获得客户端的端口号 
                socketaddress sendaddress = packet.getsocketaddress(); 
                string feedback = "received"; 
                byte[] backbuf = feedback.getbytes(); 
                datagrampacket sendpacket = new datagrampacket(backbuf, backbuf.length, sendaddress); //封装返回给客户端的数据 
                socket.send(sendpacket);  //通过套接字反馈服务器数据 
                 
                socket.close();  //关闭套接字 
                 
            } catch (unknownhostexception e) { 
                e.printstacktrace(); 
            } catch(ioexception e) { 
                e.printstacktrace(); 
            } 
        } 
    } 


3:程序运行结果

服务器端:

    客户端发送的数据为:hello, world

客户端:

   服务器返回的数据为:received 
0
0
分享到:
评论

相关推荐

    客户端和服务器端通信

    客户端和服务器端通信是计算机网络中的基础概念,它构成了互联网应用的核心部分。在这个过程中,客户端通常指的是用户设备上的应用程序,如浏览器、邮件客户端等,而服务器则是提供特定服务的计算机程序,例如网页...

    javaUDP实现服务器客户端大小写的转换

    在这个Java UDP实现中,我们将探讨如何构建一个简单的服务器和客户端系统,该系统可以完成字符串大小写的转换。 在Java中,我们通常使用`java.net.DatagramSocket`类来处理UDP通信。这个类允许我们发送和接收UDP...

    udp通信客户端

    UDP(User Datagram Protocol)是一种无连接的、不可靠...通过对这段代码的阅读和理解,我们可以深入学习UDP通信的原理和实践,掌握如何创建和管理UDP客户端。同时,这也是学习网络编程和低级别网络通信机制的好例子。

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

    本示例提供了两个关键文件:`WebServer.java` 和 `UDPServerA.java`,分别用于演示服务器端和客户端的UDP通信。 首先,我们来看`UDPServerA.java`,这是一个UDP服务器端程序。在Java中,我们通常使用`java.net....

    Java TcpUdp小例子(非异步)

    在这个Java小例子中,我们探讨了如何使用TCP和UDP协议创建简单的服务器和客户端应用程序。 首先,我们来看TCP(Transmission Control Protocol)部分。TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议。...

    JavaNetty客户端与服务器

    这个简单的例子展示了Netty的基本用法,包括设置服务器和客户端的Bootstrap、创建自定义的ChannelHandler以及进行数据的读写操作。然而,Netty的强大之处还在于它的高度可扩展性和丰富的功能,如流式API、零拷贝、多...

    java聊天工具 基于UDP编程

    本项目旨在实现一个简单的聊天工具,包括客户端和服务器端,让用户通过UDP进行实时通信。 首先,我们要理解UDP的基础知识。UDP是一种无连接的协议,它不建立连接就可以发送数据,没有握手过程,因此减少了通信延迟...

    java_UDPSocket_codes.rar_ServerThread_java udp程序

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

    安卓网站交互JSONxmlWebserviceUPnP相关-AndroidUDP组播的例子包含Android组播Server和Client端发送端和接收端.zip

    中的"JavaApk源码说明.txt"可能包含了关于源码的详细解释和使用指南,"下载更多打包源码~.url"可能是一个链接,指向更多相关的Android开发资源,"UDP_Multicast_Client"和"UDP_Multicast_Server"则是实际的Android...

    Java聊天客户端(UDP)

    Java聊天客户端(UDP)是一个基于Java编程语言实现的简单通信应用,主要利用了UDP(User Datagram Protocol,用户数据报协议)进行数据传输。对于初学者来说,这是一个很好的起点,可以帮助他们理解网络编程的基础...

    Java-UDP-Stop-and-Wait:一个用 Java 编写的 UDP 服务器和客户端来模拟 UDP 停止等待 ARQ

    在Java中,我们可以使用java.net包中的DatagramSocket类来处理UDP通信。这个项目包含了两个主要部分:服务器和客户端。服务器负责接收来自客户端的数据包,并进行必要的确认和重传操作,而客户端则负责发送数据并...

    udp例子,入门编程实例

    例如,使用C、C++、Java或Python等语言编写客户端(UDP Socket)和服务器端(UDP Server)的代码。 1. UDP的基本概念: - UDP报文:UDP通信的基本单位是报文,每个报文包括一个8字节的头部和紧跟的数据部分。 - ...

    基于java_UDP广播的聊天室程序

    - 服务器端:服务器需要监听特定的UDP端口,接收来自不同客户端的数据报包,并将其广播给所有连接的客户端。这可能通过DatagramPacket类来实现,它用于封装UDP数据报文。 - 客户端:客户端也需要创建一个...

    Netty粘包分包服务器端客户端完整例子

    这个项目可能包含了使用`LineBasedFrameDecoder`和`DelimiterBasedFrameDecoder`的服务器端和客户端实现,通过这些文件,开发者可以学习如何在实际项目中应用Netty来处理粘包和分包问题。 总之,理解和正确使用...

    flash+java通信例子

    本示例“Flash+Java通信例子”聚焦于如何利用Adobe Flash与Java应用程序之间进行数据交互。这两种技术结合,可以为用户提供丰富的交互式Web体验,特别是在多媒体、游戏和动态内容展示方面。 Flash是一款广泛应用于...

    JAVA 编写服务器与客户端

    客户端使用`java.net.Socket`类与服务器建立连接,并通过`Socket`对象的输入/输出流进行通信。以下是一个简单的客户端示例: ```java import java.io.*; import java.net.*; public class SimpleClient { public ...

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

    3. 通过Socket的输入/输出流,客户端和服务器端可以进行数据交换。 4. 通信完成后,双方关闭Socket连接。 文件传输通常基于Socket实现,通过输入输出流将文件内容逐字节读取并发送,接收方同样通过输入流接收并写入...

    Java_TcpUdp小例子(非异步)

    在Java中,我们使用`java.net.DatagramSocket`和`java.net.DatagramPacket`来实现UDP通信。基本步骤如下: 1. 创建`DatagramSocket`实例,指定服务器或客户端的端口号。 2. 对于服务器,使用`DatagramSocket....

    Java Socket编程实现UDP网络测试

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

    java commet+udp实现例子

    1. **创建UDP服务器端**:使用`java.net.DatagramSocket`类创建一个UDP服务器,监听特定端口,接收来自客户端的数据包。 2. **Comet服务器端**:创建一个Servlet,保持与客户端的持久连接。当UDP服务器接收到数据时...

Global site tag (gtag.js) - Google Analytics