`
itoracja
  • 浏览: 137636 次
  • 性别: 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
分享到:
评论

相关推荐

    java Socket与C#通信中中文乱码问题的解决方案

     客户端使用java,服务器端使用的是C#。两者之间使用基于TCP的Socket通信方式。可是,做了一个测试小例子,结果从客户端传过来的都是乱码。于是上网查,希望可以找到解决方法,可是,网上有好多的答案,经过了很多...

    java源码包---java 源码 大量 实例

     基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...

    java源码包3

     基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...

    java源码包4

     基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...

    java源码包2

     基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...

    JAVA上百实例源码以及开源项目源代码

     基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...

    JAVA上百实例源码以及开源项目

     基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    2个目标文件 摘要:Java源码,网络相关,UDP 基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式...

    java jdk实列宝典 光盘源代码

    聊天室服务器端,Chatserver.java;聊天室客户端,ChatClient.java; Ftp客户端,Mainframe.java; 14数据库 连接各种数据库DBconnector.java; 获得数据库和表的元数据Getmetadata.java; 查询和更新数据库...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    2个目标文件 摘要:Java源码,网络相关,UDP 基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式...

    Java JDK实例宝典

    11 聊天室服务器端 13. 12 聊天室客户端 13. 13 FTP客户端 第14章 数据库 14. 1 连接各种数据库 14. 2 获得数据库和表的元数据 14. 3 查询和更新数据库 14. 4 批处理 14. 5 提交与...

    java范例开发大全源代码

    第1篇 Java编程基础  第1章 Java开发环境的搭建(教学视频:9分钟) 2  1.1 理解Java 2  1.2 搭建Java所需环境 3  1.2.1 下载JDK 3  1.2.2 安装JDK 4  1.2.3 配置环境 5  1.2.4 测试JDK配置...

    Java范例开发大全(全书源程序)

    Java范例开发大全(全书源程序),目录如下: 第1篇 Java编程基础 第1章 Java开发环境的搭建(教学视频:9分钟) 2 1.1 理解Java 2 1.2 搭建Java所需环境 3 1.2.1 下载JDK 3 1.2.2 安装JDK 4 1.2.3 配置环境...

    Java范例开发大全 (源程序)

    第1篇 Java编程基础  第1章 Java开发环境的搭建(教学视频:9分钟) 2  1.1 理解Java 2  1.2 搭建Java所需环境 3  1.2.1 下载JDK 3  1.2.2 安装JDK 4  1.2.3 配置环境 5  1.2.4 测试JDK配置是否成功 7...

    java范例开发大全

    第1篇 Java编程基础 第1章 Java开发环境的搭建(教学视频:9分钟) 2 1.1 理解Java 2 1.2 搭建Java所需环境 3 1.2.1 下载JDK 3 1.2.2 安装JDK 4 1.2.3 配置环境 5 ...实例291 BBS论坛服务器端 567 实例292 ...

    Java开发技术大全 电子版

    Java开发技术大全 电子版 第1篇Java基础知识入门. 第1章Java的开发运行环境2 1.1Java的运行环境与虚拟机2 1.2Java的开发环境4 1.2.1JDK的安装4 1.2.2如何设置系统环境变量6 1.2.3编译命令的使用8 1.2.4解释...

    h_JAVA 2应用编程150例.rar

    实例69 服务器端程序 201 实例70 C/S结构聊天室 203 实例71 基于C/S的小游戏 209 实例72 应用C/S数据库 237 实例73 实现客户端程序 242 实例74 实现一个简单的代理服务器 246 实例75 C/S结构的分布式运算 248 第7章 ...

    java范例开发大全(pdf&源码)

    第1篇 Java编程基础 第1章 Java开发环境的搭建(教学视频:9分钟) 2 1.1 理解Java 2 1.2 搭建Java所需环境 3 1.2.1 下载JDK 3 1.2.2 安装JDK 4 1.2.3 配置环境 5 1.2.4 测试JDK配置是否成功 7 实例1 开发第一个Java...

    Python核心编程第二版

     10.3.11 try-except-else-finally:厨房一锅端  10.4 上下文管理   10.4.1 with语句   10.4.2 *上下文管理协议   10.5 *字符串作为异常   10.6 触发异常   10.7 断言   10.8 标准异常   ...

Global site tag (gtag.js) - Google Analytics