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

蓝一互动网站建设交易类网站seo怎么做

蓝一互动网站建设,交易类网站seo怎么做,企业注册信息,做网站是买服务器还是买cdn文章目录 1. Socket简介2. DatagramSocket3. DatagramPacket4. InetSocketAddress5. 实现UDP版的回显服务器 1. Socket简介 Socket#xff08;Java套接字#xff09;是Java编程语言提供的一组类和接口#xff0c;用于实现网络通信。它基于Socket编程接口#xff0c;提供了… 文章目录 1. Socket简介2. DatagramSocket3. DatagramPacket4. InetSocketAddress5. 实现UDP版的回显服务器 1. Socket简介 SocketJava套接字是Java编程语言提供的一组类和接口用于实现网络通信。它基于Socket编程接口提供了一种简单而强大的方式来实现网络应用程序。 socket类库提供了丰富的方法和功能用于处理网络通信的各个方面。它支持TCP和UDP协议可以实现可靠的、面向连接的通信TCP或不可靠的、无连接的通信UDP。Java Socket还提供了一些高级功能如多线程处理、异步通信、加密通信等以满足不同网络应用的需求。 本文主要使用Socket实现UDP版的客户端和服务器 DatagramSocket 是UDP Socket用于发送和接收UDP数据报。 DatagramPacket是UDP Socket发送和接收的数据报。 2. DatagramSocket DatagramSocket是Java网络编程中用于实现UDP协议的类。它是基于Socket类的子类用于发送和接收UDP数据报。 DatagramSocket 的构造方法: 方法说明DatagramSocket()创建一个UDP数据报套接字的socket,绑定本机任意一个随机端口(一般用户客户端)DatagramSocket(int port)创建一个UDP数据套接字的socket,绑定指定的port端口(一般用于服务端) DatagramSocket的常用方法如下: 方法说明void receive(DatagramPacket p)从此套接字接收数据报,如果没有接收到数据报,会阻塞等待void send(DatagramPacket p)从此套接字发送数据包void close()关闭数据报套接字 3. DatagramPacket DatagramPacket是Java网络编程中用于封装和解析UDP数据报Datagram的类。它用于在DatagramSocket中发送和接收UDP数据报 DatagramPacket的构造方法: 方法说明DatagramPacket(byte[] buf, int length)构造一个DatagramPacket以用来接收数据报接收的数据保存在 字节数组第一个参数buf中接收指定长度第二个参数 lengthDatagramPacket(byte[] buf, int offset, int length, SocketAddress address)构造一个DatagramPacket以用来发送数据报发送的数据为字节 数组第一个参数buf中从0到指定长度第二个参数 length。address指定目的主机的IP和端口号 DatagramPacket的常用方法: 方法说明InetAddress getAddress()从接收的数据报中获取发送端主机IP地址或从发送的数据报中获取 接收端主机IP地址int getPort()从接收的数据报中获取发送端主机的端口号或从发送的数据报中获取接收端主机端口号byte[] getData()获取数据报中的数据 4. InetSocketAddress InetSocketAddress是Java网络编程中用于表示IP地址和端口号的类。它是SocketAddress类的子类用于在网络通信中指定主机的地址和端口。 简单介绍一下InetSocketAddress的构造方法: InetSocketAddress(InetAddress addr,int port)创建一个Socket地址,包含IP地址和端口号 5. 实现UDP版的回显服务器 回显服务器Echo Server是一种简单的网络服务器应用它接收客户端发送的数据并将接收到的数据原样返回给客户端。 客户端代码: import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import java.net.SocketException; import java.util.Scanner;public class UdpEchoClient {private DatagramSocket socket null;private String serverIp;private int serverPort;public UdpEchoClient(String serverIp, int serverPort) throws SocketException {socket new DatagramSocket(serverPort);this.serverIp serverIp;this.serverPort serverPort;}public void start() throws IOException {System.out.println(客户端上线!);Scanner scanner new Scanner(System.in);while (true) {// 读取用户输入的内容System.out.println(- );String request scanner.next();// 构造 UDP请求,并发送给服务器DatagramPacket reqPacket new DatagramPacket(request.getBytes(), request.getBytes().length,InetAddress.getByName(this.serverIp), this.serverPort);socket.send(reqPacket);// 从服务器读取响应DatagramPacket respPacket new DatagramPacket(new byte[4096], 4096);socket.receive(respPacket);String resp new String(respPacket.getData(), 0, respPacket.getLength());}}public static void main(String[] args) throws IOException {UdpEchoClient echoClient new UdpEchoClient(127.0.0.1, 6666);echoClient.start();} }服务器代码: import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.SocketException;public class UdpEchoServer {private DatagramSocket socket null;// port 为服务器要绑定的端口public UdpEchoServer(int port) throws SocketException {socket new DatagramSocket(port);}/*** 服务器启动方法*/public void start() throws IOException {System.out.println(服务器启动!);while (true) {// 读取请求并解析DatagramPacket reqPacket new DatagramPacket(new byte[4096], 4096);socket.receive(reqPacket);// 解析请求String req new String(reqPacket.getData(), 0, reqPacket.getLength());// 计算响应String resp process(req);// 将响应返回给客户端DatagramPacket respPacket new DatagramPacket(resp.getBytes(), resp.getBytes().length,reqPacket.getSocketAddress());socket.send(respPacket);// 打印日志System.out.printf([%s:%d] req: %s;resp: %s\n, reqPacket.getSocketAddress().toString(),reqPacket.getPort(), req, resp);}}/*** 根据请求计算响应* 因为是 回显服务器,直接返回即可** param req*/private String process(String req) {return req;}public static void main(String[] args) throws IOException {UdpEchoServer echoServer new UdpEchoServer(6666);echoServer.start();} }运行流程: 运行结果: 另外服务器是给多个客户端提供服务器的,IDEA默认是无法启动多个客户端的,因此手动设置
http://www.dnsts.com.cn/news/250000.html

相关文章:

  • 大连百姓网免费发布信息网站七牛云做网站
  • 怎么建设自己的网站网站建设带采集
  • 做网站开发怎么接单江苏省交通建设厅门户网站
  • 网站案例模板网站做发
  • 怎么在wordpress建站网站建设前的规划
  • 想自己做衣服上哪个网站学浙江省房屋建筑工程资料表格久久建筑网
  • 北京做网站网络公司建设银行采购网站
  • king cms网站建设上海专业做网站推广的公司
  • 四川建设行政主管部门官方网站自己建网站程序
  • 广告设计公司名字有寓意有创意网站标题优化技巧
  • 成都网站建设名录郑州seo建站
  • 专业企业网站建设公司价格微小店网站建设多少钱
  • 手机网站模板开发工具单位做网站需要准备什么
  • 北流网站制作专业小程序开发
  • 山西商城网站建设成都最好的网站建设公司
  • 建设门户网站的基本意义有哪些建立网站看病的经济问题
  • 经典wordpress网站产品包装设计100例
  • 阜南做网站公司上海推广外包
  • 怎么做导购网站南昌建网站
  • 网站核验单怎么下载重庆机械加工网
  • 跨平台 移动网站开发网站从哪些方面做优化
  • 网站提升流量织梦网站模板源码下载
  • 网站的设计开发wordpress百万数据
  • 医院网站建设山东厦门建设网站建站
  • 口碑好的网站建设服务网站开发外包协议
  • 溧阳网站建设报价怎么自己做网站赚钱吗
  • 开发建设网站怎么把网页里的视频提取出来
  • 网站 设计公司 温州wordpress 文章tag标签
  • 做手机旅游网站做淘宝客网站要备案吗
  • 宜宾网站建设公司广东专注网站建设怎么样