当前位置: 首页 > news >正文

封面型网站布局网页设计图片轮播的代码

封面型网站布局,网页设计图片轮播的代码,开发公司先进会员企业报告材料,做商城网站要什么手续UDP Socket编程 一. DatagramSocket二. DatagramPacket三. InetSocketAddress四. 执行流程五. 代码示例: UDP 回显服务器 数据报套接字: 使用传输层 UDP 协议 UDP: 即 User Datagram Protocol(用户数据报协议),传输层协议。 UDP…

UDP Socket编程

  • 一. DatagramSocket
  • 二. DatagramPacket
  • 三. InetSocketAddress
  • 四. 执行流程
  • 五. 代码示例: UDP 回显服务器

数据报套接字: 使用传输层 UDP 协议

UDP: 即 User Datagram Protocol(用户数据报协议),传输层协议。

UDP的特点:

  1. 无连接
  2. 不可靠传输
  3. 面向数据报
  4. 全双工
  5. 有接收缓冲区,无发送缓冲区
  6. 大小受限:一次最多传输64k

对于数据报来说,可简单理解为,传输的数据是一块一块的,发送一块数据假如100个字节,必须一次发送,接收也必须一次接收100个字节,而不能分100次,每次接收1个字节。

一. DatagramSocket

DatagramSocket 是UDP Socket,用于发送和接收UDP数据报。

构造方法:

在这里插入图片描述

方法:

在这里插入图片描述

二. DatagramPacket

DatagramPacket是UDP Socket发送和接收的数据报。

构造方法:

在这里插入图片描述

方法:

在这里插入图片描述

构造UDP发送的数据报时,需要传入 SocketAddress ,该对象可以使用 InetSocketAddress 来创建。

三. InetSocketAddress

InetSocketAddress 是SocketAddress 的子类

构造方法:

在这里插入图片描述

四. 执行流程

对于UDP协议来说,具有无连接,面向数据报的特征,即每次都是没有建立连接,并且一次发送全部数据报,一次接收全部的数据报。对于一个服务端来说,重要的是提供多个客户端的请求处理及响应,流程如下:

在这里插入图片描述

五. 代码示例: UDP 回显服务器

服务器端代码:

class UdpEchoServer {public DatagramSocket socket;//udp的服务器需要自己指定端口号public UdpEchoServer(int port) throws SocketException {socket=new DatagramSocket(port);}public void start() throws IOException {System.out.println("启动服务器");while(true){//三个步骤//1.接受客户端发来的请求//先构造出数据报(盘子)DatagramPacket requestPacket=new DatagramPacket(new byte[1024],1024);//接收数据socket.receive(requestPacket);//输出型参数, receive 会将数据填充到 requestPacket 中//将数据报解析成一个字符串String request=new String(requestPacket.getData(),0,requestPacket.getLength(),"UTF-8");//注意这里求的长度直接用的是数据报//2.根据请求计算出响应String response=process(request);DatagramPacket responsePacket=new DatagramPacket(response.getBytes(),response.getBytes().length,//注意长度是字节数组的长度requestPacket.getSocketAddress());//注意要加上IP地址和端口,这里合起来写了//3.响应返回给客户端socket.send(responsePacket);System.out.printf("[reqIP:%s  req端口号:%d][req:%s  resp:%s]\n",requestPacket.getAddress().toString(),responsePacket.getPort(),request,response);}}/***  根据请求计算响应, 这里面只是模拟, 直接返回了原字符串*/public String process(String request){return request;}public static void main(String[] args) throws SocketException {UdpEchoServer udpEchoServer=new UdpEchoServer(9090);try {udpEchoServer.start();} catch (IOException e) {throw new RuntimeException(e);}}
}

客户端代码:

class UdpEchoClient {public DatagramSocket socket;//服务器的IP地址和端口号,传送数据时需要知道,放在数据报中public String serverIp;public int ServerPort;public UdpEchoClient(String serverIp,int serverPort) throws SocketException {socket=new DatagramSocket();//客户端利用系统随机分配的端口号,防止自己手动的端口号不能用this.serverIp=serverIp;this.ServerPort=serverPort;}public void start() throws IOException {Scanner scanner=new Scanner(System.in);while(true){//五个步骤//1.先接收用户输入的字符串System.out.println("->");String request=scanner.next();//2.构造数据报//注意数据报中除了数据内容还要包含服务器IP和端口DatagramPacket requestPacket=new DatagramPacket(request.getBytes(),request.getBytes().length, InetAddress.getByName(serverIp),ServerPort);//3.客户端发送数据报给服务器socket.send(requestPacket);//4.从服务器接收响应,并解析DatagramPacket responsePacket=new DatagramPacket(new byte[1024],1024);socket.receive(responsePacket);//解析数据String response=new String(responsePacket.getData(),0,responsePacket.getLength(),"UTF-8");//同样注意这里求长度用的也是数据报//5.打印在控制台上System.out.printf("req:%s resp:%s\n",request,response);}}public static void main(String[] args) throws IOException {//如果服务器在其他机器上就需要将IP地址和端口号更改了UdpEchoClient udpEchoClient=new UdpEchoClient("127.0.0.1",9090);udpEchoClient.start();}
}

注意:当然要先启动服务器再启动客户端啦!

好啦! 以上就是对 UDP Socket编程的讲解,希望能帮到你 !
评论区欢迎指正 !

http://www.yayakq.cn/news/632448/

相关文章:

  • 高校二级网站建设要求中山移动网站建设多少钱
  • 西部数码网站管理助手4.0淮北市建网站
  • 站嗨建站江西小程序软件app开发公司
  • 凡科网站模块管理系统登录
  • 403网站打开免费上海品牌营销咨询公司
  • 模板网站建设乐云seo效果好网站后台编辑器下载
  • 有什么网站是做兼职的wordpress增加文章页面
  • 长沙公司网站的建设我想学网站建设
  • 网站建设招标书模板重庆建设招标造价信息网站
  • 建设网站叶少泉济南网站制作方案
  • 如何做好企业网站的推广温州建校证件查询网站
  • 上海企业网站定制广州白云区今天最新消息
  • 百度站长平台官网wordpress怎么写描述
  • 长春有微信网站一起整的吗湘潭网页设计
  • 东莞机械建站如何智能锁网站建设关键词
  • 网站开发项目经验我想来做外贸网站来推广
  • 做网站做什么类型 比较赚钱贵州建设厅网站办事大厅
  • 网站开发设计师培训wordpress运行机制
  • 网站推广流程郑州响应式网站设计
  • 海外网站建设推广百度怎么投放广告
  • 代做效果图的网站代运营公司怎么找客户
  • 自建个人网站平台云速建站与传统网站的区别
  • wordpress建的网站吗网站引导页作用
  • 成都免费招聘网站微信公众号模板哪里找
  • 个人资料展示网站个人域名 做公司网站
  • 肇庆做网站设计公司简单网站模板下载
  • 青岛建设企业网站域名换了网站需要备案么
  • 做婚礼邀请函网站济南软件制作
  • 最好的网站建设国外ip地址怎么弄
  • html5网站开发环境南京移动网站建设哪里强