网络编程 UDP通信程序练习

news/2024/5/18 12:36:01 标签: udp, 网络, 网络协议

要求
UDP发送数据: 数据来源于键盘记录,直至输入的数据是886,发送数据结束
UDP接收数据: 因为接收端不知道发送端什么时候停止发送,故意采用死循环接收

代码示例

发送端

public class SendDemo {
    public static void main(String[] args) throws IOException {
        //创建发送端对象
        DatagramSocket ds =new DatagramSocket();

        //自己封装键盘录入数据
        BufferedReader br =new BufferedReader(new InputStreamReader(System.in));
        String line;
        while ((line= br.readLine())!=null){
            //输入的是886,发送数据结束
            if ("886".equals(line)){
                break;
            }

            //创建数据并打包
            byte [] bys=line.getBytes();
            DatagramPacket dp=new DatagramPacket(bys, bys.length, InetAddress.getByName("192.168.40.1"),12345);

            //调用DatagramSocket的方法发送数据
            ds.send(dp);
        }

        //关闭发送端
        ds.close();

    }
}


接收端

public class ReceiveDemo {
    public static void main(String[] args) throws IOException {
        //创建接收端对象
        DatagramSocket ds = new DatagramSocket(12345);

        while (true) {
            //创建一个数据包用于接收数据
            byte[] bys = new byte[1024];
            DatagramPacket dp = new DatagramPacket(bys, bys.length);

            //调用DatagramSocket方法接收数据
            ds.receive(dp);

            //解析数组报包
            System.out.println("数据时:" + new String(dp.getData(), 0, dp.getLength()));

        }
        //关闭接收端
        //ds.close();
    }
}


http://www.niftyadmin.cn/n/1782569.html

相关文章

写论文常用的计算机技巧,计算机毕业论文答辩技巧

毕业论文答辩计算机毕业论文,答辩过程:1凡参加答辩的学生必须仪表整齐,口齿流畅简捷地介绍毕业设计(论文)的名称、来源、任务内容、可行性分析、方案论证及制定,设计过程、工作原理、试验情况、设计的难点、创新点、新颖性、应用价…

hdu 2795 - Billboard

第一眼看这题不知所云,现在已经能轻松分析,看样子这两天进步还是有的。这题h是10^9的,看起来有点吓人,但因为n只有20W,所以h是10^999也没用,当h很大时数据范围就被固定在n上了,这点要多谢chenan…

绘制一个绿色矩形平面((50, 50)-(350, 350))

//VS2008opencv2.4 //绘制一个绿色矩形平面#include "stdafx.h" #include "highgui.h" #include "cv.h"int _tmain(int argc, _TCHAR* argv[]) {cvNamedWindow("ShowImage", CV_WINDOW_AUTOSIZE);//创建矩阵并置零IplImage* image cvC…

国家精品课程主讲教材:计算机组成原理,国家精品课程主讲教材:计算机组成原理...

第一章 计算机系统概述1.1 计算机系统的基本组成及其层次结构1.2 计算机硬件的五个功能部件及其功能1.3 计算机系统主要的技术与性能指标1.4 计算机的体系结构、组成和实现概述1.5 计算机发展进步、分类和拓展应用的进程1.6 本章内容小结和学习方法建议习题1第二章 数字电路基础…

网络编程 TCP发送数据

TCP通信原理 可靠的网络协议,在通信两端各建一个Socket对象,从而在通信的两端形成网络虚拟链路 步骤 1.创建客户端的Socket对象(Socket) 2.获取输出流,写数据 3.释放资源 // 创建客户端的Socket对象(Socket)Socket snew Socket("192.168.40.1",10000);// …

全国计算机竞赛能保送清华北大吗,2020这些人将被保送至清华北大!

近日,中国科协青少年科技中心公布了2020年国际奥林匹克学科竞赛国家集训队队员名单,公示期自3月10日至3月23日结束。根据赛事历年动作,能够入选五大学科(数学、物理、生物、化学、信息学)竞赛国家集训队的成员,均具备保送高校的资…

修改CPAN配置文件

root用户路径:/root/.cpan/CPAN/MyConfig.pm一般用户(本例为abc)路径:/home/abc/.cpan/CPAN/MyConfig.pm查看配置的指令:第一步,输入cpan第二步,看到cpan>提示符,输入o conf修改2…

双开微信历程....最终失败....

为什么80%的码农都做不了架构师?>>> 因为在工作中需要用到微信,而又不想用生活中的微信用来工作上,就想微信双开多好.. 经过对android的一些熟悉,发现都是以包名存放,心想,如果我把包名改掉,是否就可以双开了呢? 说干就干....找了一些反编译工具,最终…