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

跨境电商平台一览表长沙网站搭建seo

跨境电商平台一览表,长沙网站搭建seo,户外广告,阿里巴巴官网电脑版文章目录 1. Socket简介2. ServerSocket3. Socket4. 服务器端代码5. 客户端代码 1. Socket简介 Socket(Java套接字)是Java编程语言提供的一组类和接口,用于实现网络通信。它基于Socket编程接口,提供了一种简单而强大的方式来实现…

文章目录

  • 1. Socket简介
  • 2. ServerSocket
  • 3. Socket
  • 4. 服务器端代码
  • 5. 客户端代码

1. Socket简介

Socket(Java套接字)是Java编程语言提供的一组类和接口,用于实现网络通信。它基于Socket编程接口,提供了一种简单而强大的方式来实现网络应用程序。

Socket类库提供了丰富的方法和功能,用于处理网络通信的各个方面。它支持TCP和UDP协议,可以实现可靠的、面向连接的通信(TCP)或不可靠的、无连接的通信(UDP)。Java Socket还提供了一些高级功能,如多线程处理、异步通信、加密通信等,以满足不同网络应用的需求。

本文主要使用Socket实现UDP版的客户端和服务器

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

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

2. ServerSocket

ServerSocket 是创建TCP服务端Socket的API。

方法说明
ServerSocket(int port)创建一个服务端流套接字Socket,并绑定到指定端口

ServerSocket 方法:

方法说明
Socket accept()开始监听指定端口(创建时绑定的端口),有客户端连接后,返回一个服务端Socket 对象,并基于该Socket建立与客户端的连接,否则阻塞等待
void close()关闭此套接字

3. Socket

Socket API Socket 是客户端Socket,或服务端中接收到客户端建立连接(accept方法)的请求后,返回的服务端 Socket。

不管是客户端还是服务端Socket,都是双方建立连接以后,保存的对端信息,及用来与对方收发数据 的。

Socket 构造方法:

方法说明
Socket(String host, int port)创建一个客户端流套接字Socket,并与对应IP的主机上,对应端口的 进程建立连接

Socket 方法:

方法说明
InetAddress getInetAddress()返回套接字所连接的地址
InputStream getInputStream()返回此套接字的输入流
OutputStream getOutputStream()返回此套接字的输出流

4. 服务器端代码

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;public class TcpEchoServer {// 用于监听客户端private ServerSocket listenSocket = null;public TcpEchoServer(int port) throws IOException {listenSocket = new ServerSocket(port);}public void start() throws IOException {System.out.println("服务器启动!");ExecutorService service = Executors.newCachedThreadPool();while (true) {// 接收客户端的连接Socket clientSocket = listenSocket.accept();service.submit(new Runnable() {@Overridepublic void run() {try {processConnection(clientSocket);} catch (IOException e) {throw new RuntimeException(e);}}});}}public void processConnection(Socket socket) throws IOException {System.out.printf("[%s: %d], 客户端上线!\n", socket.getInetAddress().toString(), socket.getPort());// 处理客户端请求try (InputStream inputStream = socket.getInputStream();OutputStream outputStream = socket.getOutputStream()) {while (true) {// 读取请求并解析Scanner scanner = new Scanner(inputStream);if (!scanner.hasNext()) {System.out.printf("[%s: %d],客户端下线\n", socket.getInetAddress().toString(), socket.getPort());break;}// 读取请求,并返回响应String request = scanner.next();String response = process(request);PrintWriter printWriter = new PrintWriter(outputStream);printWriter.println(response);// 刷新缓冲区printWriter.flush();System.out.printf("[%s: %d], req: %s  resp: %s \n", socket.getInetAddress().toString(), socket.getPort(),request, response);}} finally {socket.close();}}private String process(String request) {return request;}public static void main(String[] args) throws IOException {TcpEchoServer server = new TcpEchoServer(5678);server.start();}
}

5. 客户端代码

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.Socket;
import java.util.Scanner;public class TcpEchoClient {private Socket socket = null;public TcpEchoClient(String serverIp, int serverPort) throws IOException {socket = new Socket(serverIp, serverPort);}public void start() throws IOException {System.out.println("客户端启动!");Scanner scanner = new Scanner(System.in);try (InputStream inputStream = socket.getInputStream();OutputStream outputStream = socket.getOutputStream()) {while (true) {// 读取请求System.out.print("-> ");String request = scanner.next();// 发送请求给服务器PrintWriter printWriter = new PrintWriter(outputStream);printWriter.println(request);// 刷新缓冲区printWriter.flush();// 读取请求Scanner respScanner = new Scanner(inputStream);String response = respScanner.next();System.out.println(response);}}}public static void main(String[] args) throws IOException {TcpEchoClient client = new TcpEchoClient("127.0.0.1", 5678);client.start();}
}

运行结果:

在这里插入图片描述

在这里插入图片描述

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

相关文章:

  • 华为手机网站建设策划方案论文pc网站还有必要做吗
  • 自学建设网站中山楼市最新消息
  • 350做网站深圳手表网网站
  • wordpress做电影网站创造一个网站
  • pc端微信端网站建设无锡高端网站建设
  • wordpress小图标网站常见的网上购物平台有哪些
  • php做网站图集精准营销推广
  • 做一个中文域名购物网站要多少钱应用网站制作
  • 网站怎么建设好看网页设计图片格式
  • 金融投资管理公司网站源码做3个网站需要多大的服务器
  • 网站开发需求收集手机微信网站模板
  • 爱漫画-只做精品的韩漫网站wordpress 能源插件
  • 网站建设调查报告范文佛山关键词自动排名
  • 内江市规划建设教育培训中心网站wordpress 左右图文排版
  • 实时网站推广的最终目的是老域名做网站好吗
  • storyset自定义插画网站顶呱呱网站建设价格
  • php网站开发面试题龙岗外贸网站建设公司
  • 网站建立不安全怎么设置通过做网站新闻
  • 用什么网站做浏览器主页制作app软件要多少钱一个
  • 那个网站可以做logo网站icp备案信息是什么意思
  • 商丘网站制作案例网站做链接代码
  • 做网站购买服务器吗安阳淘宝网站建设
  • 专业网站建设公司排名如何申请一个网站 新网
  • 介绍几个免费的网站黄岩区建设规划局网站
  • 做模板网站的公司建e室内设计网 3d模型医美前台
  • 有哪些营销型网站新媒体配图的相关知识
  • 佛山外贸网站建设资讯跨境电商怎么做一件代发
  • 西安装修公司网站制作十堰seo优化
  • 个人网站备案 备注网络运营公司的经营范围
  • 网站建设出现401中国镇江网站