UDP程序设计

在TCP的索引操作都必须建立可靠地连接,这样一来肯定会浪费大量的系统性能,为了减少这种开销,在网络中又提供了另外一种传输协议---UDP,不可靠的连接,这种协议在各个聊天工具中被广泛的应用。

咋UDP开发中使用DatagramPacket包装一条要发送的信息,之后使用DatagramSocket用于完成信息的发送操作。

例如:现在使用聊天工具进行聊天的功能,那么A的发送的信息B不一定可以接受的到,因为使用的是UDP的协议。

UDP中主要是使用数据报协议发送的。

DatagramPacket中的方法

是包含真实的是要发送的信息,称为数据报

所有的数据报使用DatagramPacket进行发送的操作

DatagramSocket

那么如果要想运行程序,则在数据报的开发中,应该首先保证客户端要打开

import java.net.DatagramPacket ;
import java.net.DatagramSocket ;public class UDPClient{public static void main(String args[]) throws Exception{    // 所有异常抛出DatagramSocket ds = null ;        // 定义接收数据报的对象byte[] buf = new byte[1024] ;    // 开辟空间,以接收数据DatagramPacket dp = null ;        // 声明DatagramPacket对象ds = new DatagramSocket(9000) ;    // 客户端在9000端口上等待服务器发送信息dp = new DatagramPacket(buf,1024) ; // 所有的信息使用buf保存ds.receive(dp)  ;    // 接收数据String str = new String(dp.getData(),0,dp.getLength()) + "from " + dp.getAddress().getHostAddress() + ":" + dp.getPort() ;System.out.println(str) ;    // 输出内容
    }
};

要进一步等待服务器发送信息

import java.net.DatagramPacket ;
import java.net.DatagramSocket ;
import java.net.InetAddress ;public class UDPServer{public static void main(String args[]) throws Exception{    // 所有异常抛出DatagramSocket ds = null ;        // 定义发送数据报的对象DatagramPacket dp = null ;        // 声明DatagramPacket对象ds = new DatagramSocket(3000) ;    // 服务端在3000端口上等待服务器发送信息\String str = "hello World!!!" ;dp = new DatagramPacket(str.getBytes(),str.length(),InetAddress.getByName("localhost"),9000) ; // 所有的信息使用buf保存System.out.println("发送信息。") ;ds.send(dp);    // 发送信息出去
        ds.close() ;}
};

UDP 属于不可靠的连接协议,服务端发送的信息客户端未必接收的到,采用的是数据报的协议发送。

转载于:https://www.cnblogs.com/oumyye/p/4271198.html

java基础篇---网络编程(UDP程序设计)相关推荐

  1. java基础篇---网络编程(IP与URL)

    一:IP与InetAddress 在Java中支持网络通讯程序的开发,主要提供了两种通讯协议:TCP协议,UDP协议 可靠地连接传输,使用三方握手的方式完成通讯 不可靠的连接传输,传输的时候接受方不一 ...

  2. JAVA基础11 网络编程

    JAVA基础 11.网络编程 1.什么是网络?网络模型?网络四要素? 1.网络 在计算机领域中网络是信息传输,接收,共享的虚拟平台,通过它把各个点,面,体的联系到一起,从而实现这些资源的共享. 资源的 ...

  3. 大数据 -- java基础16 网络编程 TCP UDP

    1.网络编程的三要素:(1)IP地址(2)端口号(3)协议 2.IP地址 : 网络中计算机唯一标识. (1)IP地址在计算机中存储的时候是由二进制的形式进行存储的:IP:192.168.7.42 十进 ...

  4. Java基础:网络编程

    1. 网络编程概述 自从互联网诞生以来,现在基本上所有的程序都是网络程序,很少有单机版的程序了. 计算机网络就是把各个计算机连接到一起,让网络中的计算机可以互相通信.网络编程就是如何在程序中实现两台计 ...

  5. java基础:网络编程(一)简介

    网络编程简介 这些知识点在学习计算机网络时都有详细讲,我这就简单介绍下,具体的看计算机网络相关知识. 1.软件结构 常见的软件结构有C/S和B/S C/S (Client/Server) 表示客户端/ ...

  6. Java基础6网络编程

    12.1 基本概念 如今,计算机已经成为人们学习.工作.生活必不可少的工具.我们利用计算机可以和亲朋好友网上聊天,也可以玩网游.发邮件等等,这些功能实现都离不开计算机网络.计算机网络实现了不同计算机之 ...

  7. Java基础之网络编程

    网络编程 1.1 网络编程的基本概念 1.网络 将不同区域的电脑连接到一起,组成局域网.城域网或广域网.把分布在不同地理区域的计算机与专门的外部设备用通信线路互联成一个规模大.功能强的网络系统,从而使 ...

  8. Java基础23 网络编程 socket套接字流 TCP传输总结

    一.网络编程的概念 1.计算机网络:将不同地区的计算机,使用网络来进行连接 实现不同地区的数据的交互与共享(互联时代) 2. 网络编程的三要素:IP地址 端口号 协议 3. ip地址:是在网络连接中 ...

  9. Java 基础之网络编程

    网络编程 主要内容 软件架构CS/BS 网络通信三要素 TCP通信 Socket套接字 ServerSocket 第一章 网络编程入门 1.1软件结构 C/S结构 :全称为Client/Server结 ...

最新文章

  1. PC端、移动端手机竖拍原图压缩上传顺时针旋转90°的解决方案
  2. android在线播放音乐
  3. 如何简单形象又有趣地讲解神经网络是什么?(知乎) 说的人很多,理解很充分_kebu12345678的博客-CSDN博客_神经网络知乎
  4. Android Studio 打开提示Invalid Gradle JDK configuration found错误
  5. 独热编码(One-Hot)的理解
  6. oracle常用关键字和函数
  7. java web一: xml
  8. python如何下载tushare_安装tushare
  9. PC版-B站下载视频
  10. php现实的九九乘法,php趣味编程 - php 输出九九乘法
  11. 设计模式之MVC设计模式初阶
  12. html炫酷在线,10款基于HTML5/CSS3的炫酷动画
  13. 【Pyecharts50例】自定义饼图标签/显示百分比
  14. 计算机主机的光驱怎么打开,笔记本电脑光驱,教您笔记本光驱怎么打开
  15. 猫咪藏在哪个房间python_‎App Store 上的“敢问猫在何方 - 妈妈把我的猫咪藏起来了”...
  16. MYSQL 中UNIQUE 用法 意思
  17. 联想IdeaPad710s win10系统安装Ubuntu18.04.5双系统过程总结
  18. PyTorch导入报错:ValueError: module functions cannot set METH_CLASS or METH_STATIC
  19. Rasa入门——AI助手和聊天机器人
  20. 深度学习技巧:如何显示多个模型的acc和loss曲线?

热门文章

  1. 部署superset_ubuntu16下部署apache superset趟坑指南(内有福利)
  2. h5实现网页内容跟随窗口大小移动_h5页面能流行于各大社交平台必定有其原因的...
  3. ee2prom擦除 c语言,浮点数在E2PROM中的存取方法.doc
  4. numpy的深复制与浅复制的区别_Python之Numpy基础,强大到让你五体投地
  5. C语言运算符优先级 (备忘)
  6. 浏览器页面关闭事件获取及处理--onbeforeunload
  7. C语言高级编程:函数指针的用法
  8. graph-easy 纯文本图绘制工具(表格或流程图)
  9. HTML转存问题测试
  10. 如果央行加息,以前办的房贷利息也会涨吗?