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

电子商务网站建设的简要任务执行书WordPress安装两个seo插件

电子商务网站建设的简要任务执行书,WordPress安装两个seo插件,公司地址怎么弄在百度上显示,成都少儿编程培训机构排名前十这一篇文章我们将讲述网络编程中UDP服务器客户端的编程代码 1、前置知识 UDP协议全称是用户数据报协议,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。 UDP的特点有:无连接、尽最大努力交付、面向报文、没有拥塞控制 本文讲…

这一篇文章我们将讲述网络编程中UDP服务器客户端的编程代码

1、前置知识

UDP协议全称是用户数据报协议,在网络中它与TCP协议一样用于处理数据包,是一种无连接的协议。

UDP的特点有:无连接、尽最大努力交付、面向报文、没有拥塞控制

本文讲的回响服务器是指客户端向服务器发送一个报文,从服务器那里得到一条一模一样的回响报文

该代码需要在同一个包下创建两个类,服务器UdpEchoServer类,客户端UdpEchoClient类

2、服务器端代码

(1)完整代码

先放上完整代码

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
import java.nio.charset.StandardCharsets;public class UdpEchoServer {public static DatagramSocket socket = null;public UdpEchoServer(int port) throws SocketException {//手动指定服务器端口号socket = new DatagramSocket(port);}public static void start() throws IOException {while (true){System.out.println("服务器启动");DatagramPacket requestPacket = new DatagramPacket(new byte[1024],1024);socket.receive(requestPacket);String request = new String(requestPacket.getData(),0,requestPacket.getLength());String response = process(request);DatagramPacket responsePacket = new DatagramPacket(response.getBytes(),response.getBytes().length,requestPacket.getSocketAddress());socket.send(responsePacket);System.out.printf("[%s:%d] req:%s,resp:%s",requestPacket.getAddress(),requestPacket.getPort(),request,response);System.out.println();}}public static String process(String request){return request;}public static void main(String[] args) throws IOException {UdpServer server = new UdpServer(9090);server.start();}}

(2)代码讲解

构造方法中手动指定服务器端口号

public UdpEchoServer(int port) throws SocketException {//手动指定服务器端口号socket = new DatagramSocket(port);
}

start()方法中进行信息的接收、处理、发送 

public static void start() throws IOException {while (true){System.out.println("服务器启动");//创建接收报文,用socket进行接收请求报文DatagramPacket requestPacket = new DatagramPacket(new byte[1024],1024);socket.receive(requestPacket);//将请求报文转化为请求字符串,用process()方法进行处理,得到响应字符串String request = new String(requestPacket.getData(),0,requestPacket.getLength());String response = process(request);//将得到的响应字符串转化为响应报文,并用socket进行发送DatagramPacket responsePacket = new DatagramPacket(response.getBytes(),response.getBytes().length,requestPacket.getSocketAddress());socket.send(responsePacket);//打印客户端IP地址和端口号信息System.out.printf("[%s:%d] req:%s,resp:%s",requestPacket.getAddress(),requestPacket.getPort(),request,response);System.out.println();}
}

process()方法

直接返回接收到的字符串

public static String process(String request){return request;
}

3、 客户端代码

 (1)完整代码

import java.io.IOException;
import java.net.*;
import java.util.Scanner;public class UdpEchoClient {public static DatagramSocket socket = null;private static String ip = null;private static int port = 0;public UdpEchoClient(String ip,int port) throws SocketException {//系统自动为客户端分配端口socket = new DatagramSocket();this.ip = ip;this.port = port;}public static void start() throws IOException {System.out.println("客户端启动!");Scanner scanner = new Scanner(System.in);while (true){System.out.print("->");String request = scanner.next();DatagramPacket requestPacket = new DatagramPacket(request.getBytes(),request.getBytes().length, InetAddress.getByName(ip),port);socket.send(requestPacket);DatagramPacket responsePacket = new DatagramPacket(new byte[1024],1024);socket.receive(responsePacket);String response = new String(responsePacket.getData(),0,responsePacket.getLength());System.out.println(response);}}public static void main(String[] args) throws IOException {UdpEchoClient client = new UdpEchoClient("127.0.0.1",9090);client.start();}
}

(2)代码讲解

客户端由于可能有多个,所以需要系统自动为客户端分配端口

当初始化socket时,客户端还需要记下服务器端的ip和端口 

public static DatagramSocket socket = null;
private static String ip = null;
private static int port = 0;public UdpEchoClient(String ip,int port) throws SocketException {//系统自动为客户端分配端口socket = new DatagramSocket();//记录ip和端口号this.ip = ip;this.port = port;
}

start()方法 

public static void start() throws IOException {System.out.println("客户端启动!");Scanner scanner = new Scanner(System.in);while (true){System.out.print("->");String request = scanner.next();//将读取到的字符串转化为请求报文,并用socket进行发送DatagramPacket requestPacket = new DatagramPacket(request.getBytes(),request.getBytes().length, InetAddress.getByName(ip),port);socket.send(requestPacket);//创建回应报文来接收响应DatagramPacket responsePacket = new DatagramPacket(new byte[1024],1024);socket.receive(responsePacket);//将响应报文转换成字符串,并打印出来String response = new String(responsePacket.getData(),0,responsePacket.getLength());System.out.println(response);}
}

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

相关文章:

  • 免费的网站源码去哪下载浙江省建设信息港官网首页
  • 找网络公司做的网站到期后 备案的域名属于备案企业还是网络公司wordpress 后台添加菜单
  • 个人做网站如何赚钱深圳互联网公司50强
  • 国外ui界面设计网站长沙制作网站公司哪家好
  • 邯郸网站建设策划方案o2o网站功能
  • 电商网站建设网成立网站开发公司
  • 免费建立个人app网站金环建设集团网站
  • 广西壮族自治区专升本业务系统石家庄整站优化
  • 镇江润州区建设局网站深圳品牌网站
  • 浙江省互联网建设网站关于水果怎么做网站
  • 网站收录提交接口企业微网站制作教程
  • 客户端建站男女做床网站
  • 虚拟主机网站建设实训总结网站建设空间主机的选择
  • 做网站怎么建站点网站首页原型图怎么做
  • 去哪找网站建设公司网站开发模式有哪些
  • 运城网站建设多少钱网页空间租用
  • 制作一般网站中国建设银行是国企还是央企
  • 网站使用支付接口如何收费上海建设银行青浦分行网站
  • 惠阳区城市建设规划局网站PHP网站开发常用函数
  • 企业网站制作收费wordpress标签静态化
  • 广东营销网站建设网页浏览器图标
  • 河南网站建设公沧浪手机网站建设方案
  • 中国万网怎么自己做网站网站流量分成
  • 网站建设步骤详解徐州人才网档案查询
  • 微信公众号服务号网站开发流程上海企业建设网站电话
  • 企业网站备案名称wordpress插件安装目录下
  • 网站的关键词网站建设和执纪监督
  • 网站初期seo怎么做网站建设公司如何选取
  • 微信公众号可以做微网站郑州seo优化外包公司
  • net网站开发学习石家庄做外贸的网站