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

建设银行扬中网站微信营销的方法7种

建设银行扬中网站,微信营销的方法7种,广告设计制作工作室,wordpress简约电影回显服务器表示客户端发的是啥#xff0c;服务器就返回啥#xff0c;主要是为了熟悉UDP数据报网络编程的基本步骤 对于程序的所有分析都写到了代码上 UDP回显服务器代码 package UdpEcho;import java.io.IOException; import java.net.DatagramPacket; import java.net.Dat…       回显服务器表示客户端发的是啥服务器就返回啥主要是为了熟悉UDP数据报网络编程的基本步骤 对于程序的所有分析都写到了代码上 UDP回显服务器代码 package UdpEcho;import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.SocketException;/*** Created with IntelliJ IDEA.* Description:* User: wuyulin* Date: 2023-08-09* Time: 11:52*/ //UDP回显服务器客户端发的是啥服务器就返回啥 //通过UDP回显服务器的实现来简单熟悉创建服务器的API //我们创建了DatagramSocket类的对象但是在程序中没有调用close方法关闭该对象 //1.我们整个程序只实例化了一个DatagramSocket类的对象socket //2.socket对象的生命周期非常长是跟随整个程序的此时就需要socket对象保持打开的状态 //3.socket对象-系统中的socket文件-文件描述符进程的pcb进程控制块的属性最主要的目标是为了释放文件描述符表中的文件描述符才要关闭socket对象 //而进程结束就把pcb回收里面的文件描述符表自然也被销毁了 //当程序中有多个socket对象socket对象的生命周期较短需要频繁的创建和释放一定要记得close public class UdpEchoServer {//对于实现UDP服务器DatagramSocket是不可或缺的类//要通过DatagramSocket类的对象网卡对象来进行客户端与服务器之间的数据交换private DatagramSocket socketnull;//在实例化UDP回显服务器的时候就要实例化一个DatagramSocket对象网卡对象//对于服务器我们在实例化DatagramSocket对象时需要指明服务器的端口号方便客户端寻找public UdpEchoServer(int port) throws SocketException {socketnew DatagramSocket(port);}//定义一个start方法来启动UDP回显服务器public void start() throws IOException {System.out.println(服务器启动);//服务器启动以后要一直去接收客户端传来的请求并进行处理以及回应while (true){//服务器在启动以后要处理的三件核心环节//1.读取客户端传来的请求并解析客户端传来的请求是一个二进制数组要根据实际情况解析为字符串或数字等等//UDP服务器进行发送和接收的数据单位是UDP数据报DatagramPacket//DatagramPacket数据报类型有两个参数当DatagramPacket类型的对象用于接收数据就不需要提供ip地址和端口号SocketAddressDatagramPacket requestPacketnew DatagramPacket(new byte[4080],4080);//客户端传来的请求数据报就会存储到DatagramPacket类型的对象requestPacket中//receive方法自带阻塞等待当服务器没有接受到客户端传来的请求时在receive方法这里就会进入阻塞等待直到客户端传来请求为止socket.receive(requestPacket);//2.根据请求计算出响应这个是在实际工作中我们最主要编写的逻辑//由于回显服务器对数据的处理很简单客户端发的是啥服务器就返回啥//所以我们将客户端发出的请求转换为字符串再把字符串传递给客户端即可String requestnew String(requestPacket.getData(),0,requestPacket.getLength());String reposehandle(request);//3.把响应发送给客户端//发送的响应也是DatagramPacketUDP数据报类型//由于要将响应发送给客户端所以需要知道客户端的ip地址和端口号SocketAddress类型//requestPacket接收客户端传来的请求中含有服务器和客户端的ip地址和端口号//可以通过getSocketAddress方法获得客户端的ip地址和端口号SocketAddress类DatagramPacket reponsePacketnew DatagramPacket(repose.getBytes(),repose.getBytes().length,requestPacket.getSocketAddress());socket.send(reponsePacket);//服务器就完成了接收数据处理数据发送数据的过程//记录日志方便观察程序执行效果//requestPacket是客户端传给服务器的请求报所以其中有客户端和服务器的ip地址和端口号//通过getAddress方法获得客户端的ip地址getPort方法获得客户端的端口号System.out.printf([%s,%d] request:%s repose:%s\n,requestPacket.getAddress().toString(),requestPacket.getPort(),request,repose);}}//对客户端传来的请求进行处理private String handle(String request){return request;}public static void main(String[] args) throws IOException {UdpEchoServer udpEchoServernew UdpEchoServer(8080);udpEchoServer.start();} }UDP回显客户端的代码 package UdpEcho;import java.io.IOException; import java.net.*; import java.util.Scanner;/*** Created with IntelliJ IDEA.* Description:* User: wuyulin* Date: 2023-08-09* Time: 11:53*/ //UPD回显客户端 public class UdpEchoClient {private DatagramSocket socketnull;private String ipServernull; //用来存储用户提供的服务器ip地址private int portSever0; //用来存储用户提供的服务器端口号//在实例化客户端的时候需要用户提供服务器的ip地址和端口号这样才知道该客户端要联系哪个服务器public UdpEchoClient(String ipServer,int portSever) throws SocketException {this.ipServeripServer;this.portSeverportSever;//因为客户端的端口号是有操作系统随机分配的要是指定客户端的端口号可能会导致冲突//所以实例化DatagramSocket对象的时候不写参数不指定端口号socketnew DatagramSocket();}//开启客户端public void start() throws IOException {Scanner scannernew Scanner(System.in);System.out.println(客户端启动);//要不停的读取用户输入的请求将请求发送给服务器并接收服务器发送回来的响应while (true){System.out.print(请求-);String requestscanner.next();//根据用户输入的请求实例化DatagramPacket数据报因为UDP类型网络编程数据传输的基本单位是DatagramPacket数据报//由于要将客户端的请求发送给服务器所以需要在DatagramPacket类中声明服务器的ip地址和端口号//通过InetAddress类调用静态方法getByName实例化InetAddress类型的对象getByName方法可以叫做工厂方法DatagramPacket requestPacketnew DatagramPacket(request.getBytes(),request.getBytes().length,InetAddress.getByName(ipServer),portSever);//将用户的请求发送给客户端socket.send(requestPacket);//接收服务器返回的的回应DatagramPacket reposePacketnew DatagramPacket(new byte[4080],4080);socket.receive(reposePacket);//对回应的数据报进行解析String reposenew String(reposePacket.getData(),0,reposePacket.getLength());//输出解析后得到的回应System.out.println(repose);}}public static void main(String[] args) throws IOException {UdpEchoClient udpEchoClientnew UdpEchoClient(127.0.0.1,8080);udpEchoClient.start();} }当我们用idea实现了上面的代码后可以通过idea如何开启多个客户端一个代码开启多个客户端运行来检验多个客户端向服务器传送请求的运行情况
http://wiki.neutronadmin.com/news/258767/

相关文章:

  • 句容网站建设开发网站建设详细过程
  • 大理做网站哪家好网站投入费用
  • 网站模板手机目前最火的互联网项目
  • 上海营销型网站建设公司网站建设 问卷调查
  • phpcmsv9网站地图西部数码网站备案核验单
  • 网站美化教程下载短网址生成免费
  • 网站模板带后台 下载360投放广告怎么收费
  • 前台网站系统源码三视觉平面设计网
  • 手机网站制作套餐福清市百度seo
  • 网站应如何设计网站为契机建设校园数字化
  • php商务网站开发代码山东展厅设计公司
  • 网站建设费用的账务处理投资5万的小型加工厂
  • 内容网站 如何做采集网站页面排名优化
  • 株洲能建网站的有哪些网站博客程序
  • 做微视频的网站wordpress添加爬虫数据
  • 2008 iis 添加 网站 权限宁远做网站
  • 如何做产品网站网页设计天津海外seo
  • 织梦可以做商城网站吗网站托管共享服务器费用一年多少钱
  • 只用php做网站哪个网站空间好
  • 2017网站设计wordpress模版做网页
  • 做搜狗手机网站优wordpress 3.5 下载
  • 微网站与移动开发是做什么的上海莱布拉网站建设
  • 建论坛网站wordpress增加小工具
  • 广西网站建设公司电话建立网站方法
  • 黄石百度做网站多少钱深圳外企公司排名
  • 广州站在哪里辽宁鞍山刚刚发布
  • 中小学网站建设方案公司网站建设和推广
  • wordpress 多站点 拷贝自己建设网站步骤
  • 陕西网站建设厦门网站制作福州做网站互联网公司
  • 留学网站建设多少钱沈阳建设电商网站