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

虹口广州网站建设旅游业网站建设方案特点

虹口广州网站建设,旅游业网站建设方案特点,百度seo哪家公司好,宁波seo关键词优化报价欢迎浏览高耳机的博客 希望我们彼此都有更好的收获 感谢三连支持! 在网络编程中#xff0c;Echo Server 和 Echo Client 回显是一种经典的示例#xff0c;用于演示基本的网络通信。Echo Server 接收来自客户端的数据#xff0c;并将相同的数据发送回客户端。这种模式在测试… 欢迎浏览高耳机的博客 希望我们彼此都有更好的收获 感谢三连支持!   在网络编程中Echo Server 和 Echo Client 回显是一种经典的示例用于演示基本的网络通信。Echo Server 接收来自客户端的数据并将相同的数据发送回客户端。这种模式在测试网络连接和理解网络通信原理时非常有用。在这篇文章中我们将使用 Java 语言来实现基于 UDP 协议的 Echo Server 和 Echo Client。  目录 UDP 协议概述 API介绍  Echo Server 实现 服务器核心流程 服务器代码详解  Echo Client 实现 客户端核心流程 客户端代码详解  运行演示  UDP 协议概述 UDPUser Datagram Protocol是一种无连接的网络协议它在 IP 协议的基础上提供一种快速、简单的数据传输服务。与 TCP 协议不同UDP 不建立连接不保证数据的可靠传输因此适用于对实时性要求高、可以容忍一定数据丢失的应用场景如视频会议、在线游戏等。 API介绍  DatagramSocket 是UDP Socket用于发送和接收UDP数据报。  构造方法 方法签名方法说明DatagramSocket()创建一个UDP数据报套接字的Socket绑定到本机任意一个随机端口一般用于客户端DatagramSocket(int port) 创建一个UDP数据报套接字的Socket绑定到本机指定的端口一般用于服务端  方法: 方法签名方法说明void receive(DatagramPacket p)从此套接字接收数据报如果没有接收到数据报该方法会阻塞等待void send(DatagramPacket p)从此套接字发送数据报包不会阻塞等待直接发送void close()关闭此数据报套接字 DatagramPacket 是UDP Socket发送和接收的数据报。 构造方法 方法签名方法说明DatagramPacket(byte[] buf, int length)构造一个DatagramPacket用来接收数据报接收的数据保存在字节数组第一个参数buf中接收指定长度第二个参数lengthDatagramPacket(byte[] buf, int offset, int length, SocketAddress address)构造一个DatagramPacket用来发送数据报发送的数据为字节数组第一个参数buf中从offset到指定长度第二个参数length。address指定目的主机的IP和端口号 方法 方法签名方法说明InetAddress getAddress()从接收的数据报中获取发送端主机IP地址或从发送的数据报中获取接收端主机IP地址int getPort()从接收的数据报中获取发送端主机的端口号或从发送的数据报中获取接收端主机端口号byte[] getData()获取数据报中的数据 构造UDP发送的数据报时需要传入SocketAddress该对象可以使用InetSocketAddress来创建。 构造方法 方法签名方法说明InetSocketAddress(InetAddress addr, int port)创建一个Socket地址包含IP地址和端口号 Echo Server 实现 服务器核心流程 创建 DatagramSocket 并绑定到指定端口开始监听客户端的请求。循环接收客户端发送的数据。将接收到的数据原样发送回客户端。重复步骤 2 和 3直到服务器关闭。 服务器代码详解  package network;import javax.lang.model.element.NestingKind; import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.SocketException;public class UdpEchoServer {private DatagramSocket socket null;public UdpEchoServer(int port) throws SocketException {socket new DatagramSocket(port);}//通过 start 启动服务器的核心流程public void start() throws IOException {System.out.println(服务器启动);while (true) {//此处不停的处理客户端的请求//1.读取客户端的请求并解析DatagramPacket requestPacket new DatagramPacket(new byte[4096],4096);//阻塞并等待客户端的请求。当数据到达时它将数据存储在 requestPacket 中。socket.receive(requestPacket);//将二进制byte转为字符串,方便输出String request new String(requestPacket.getData(),0, requestPacket.getLength());//2.根据请求计算响应,由于此处是回显服务器,响应就是请求.String response process(request);//3.把响应写回客户端DatagramPacket responsePacket new DatagramPacket(response.getBytes(),response.getBytes().length,requestPacket.getSocketAddress());socket.send(responsePacket);//4.打印日志System.out.printf([%s:%d] req%s,resp%s\n,requestPacket.getAddress(),requestPacket.getPort(),request,response);}}public String process(String request) {return request;}public static void main(String[] args) throws IOException {UdpEchoServer server new UdpEchoServer(9090);server.start();} } Echo Client 实现 客户端核心流程 创建 DatagramSocket。从控制台读取用户输入。将用户输入封装成 UDP 数据包并发送到服务器。接收服务器的响应并打印到控制台。重复步骤 2-4直到用户选择停止。 客户端代码详解  package network;import java.io.IOException; import java.net.*; import java.util.Scanner;public class UdpEchoClient {private DatagramSocket socket null;private String serverIP;private int serverPort;// 构造函数初始化socket并设置服务器的IP和端口public UdpEchoClient(String serverIP,int serverPort) throws SocketException {socket new DatagramSocket();this.serverIP serverIP;this.serverPort serverPort;}public void start() throws IOException {System.out.println(启动客户端);Scanner scanner new Scanner(System.in);while (true) {//1.从控制台读取到用户的输入System.out.println(- );String request scanner.next();//2.构造出一个 UPD 请求,发送给服务器// 将用户输入转换为字节数组并发送到服务器的指定IP和端口DatagramPacket requestPacket new DatagramPacket(request.getBytes(),request.getBytes().length, InetAddress.getByName(this.serverIP),this.serverPort);socket.send(requestPacket);//3.从服务器读取到响应DatagramPacket responsePacket new DatagramPacket(new byte[4096],4096);socket.receive(responsePacket);//响应转换为字符串String response new String(responsePacket.getData(),0,responsePacket.getLength());//4.把响应打印到控制台上System.out.println(response);}}public static void main(String[] args) throws IOException {//创建客户端示例,绑定本地的9090端口UdpEchoClient client new UdpEchoClient(127.0.0.1,9090);client.start();} } 运行演示  1.依次启动server 和 client: 2.在client中输入请求内容,回车: 绿色文本为输入内容,白色文本为server响应. 3.server打印请求和响应日志: 实现一个基础的 UDP Echo Server 和 Echo Client理解 UDP 协议的工作原理和网络通信的基本概念。这种模式不仅适用于学习目的还可以作为构建更复杂网络应用的基础。  希望这篇博客能为你理解网络编程提供一些帮助 如有不足之处请多多指出 我是高耳机
http://www.hkea.cn/news/14295995/

相关文章:

  • 展示网站动画怎么做的seo教育培训机构
  • 常见的网站空间重庆网站seo按天计费
  • 如何设置个人网站visual studio做网站
  • 广西柳州网站制作公司网站推广的网站
  • 临沂企业建站系统外贸英语 网站
  • 中山市城乡建设局网站个体工商户经营范围网站开发
  • 韩国网站建设设置wordpress上传文件大小
  • 装潢公司网站设计与制作嘉峪关市建设局公示公告网站
  • 网站建设是指什么东莞玩具加工东莞网站建设
  • xp花生壳做网站网站没备案怎么做淘宝客
  • 昆明做网站建设的公司哪家好画画外包网站
  • 查看网站是由什么开源做的无锡定制网站制作公司
  • 正规品牌网站设计一般网站维护需要做什么
  • 淘宝客网站怎么做产品设计五个流程
  • 装饰网站建设的方案app推广联盟平台
  • 做网站主流用什么语言贵阳网站建设平台
  • 陕西网站建设哪家专业百度上能收到的企业名称网站怎么做
  • 官方网站建设银行年利息是多少cps推广是什么意思
  • 网站使用什么数据库公司网站建设会计处理
  • 企业网站子页面模板威海人社app下载官网2022
  • 从域名角度看网站建设注意事项企业画册的设计效果
  • 企业营销型网站推广方法宁波网站建设服务提供商
  • 做标书需要用到哪些网站查资料价格合理的网站建设
  • 有没有做衣服的网站如何设计网站以网络为中心的企业文化
  • 微信小程序一键生成链接官网seo关键词排名系统
  • 网站做中英版网页期末大作业
  • 郑州百度网站优化便宜的网站建设
  • 商品网站wordpress百度收录插件
  • 重庆新闻联播回放今天seo成功案例分析
  • 门户网站兴化建设局 金建设网站需要从哪方面考虑