网站傻瓜式建设品牌维护

news/2025/10/7 14:17:43/文章来源:
网站傻瓜式建设,品牌维护,优秀建筑案例分析,网络与新媒体就业方向及前景文章目录 1. Socket简介2. ServerSocket3. Socket4. 服务器端代码5. 客户端代码 1. Socket简介 Socket#xff08;Java套接字#xff09;是Java编程语言提供的一组类和接口#xff0c;用于实现网络通信。它基于Socket编程接口#xff0c;提供了一种简单而强大的方式来实现… 文章目录 1. Socket简介2. ServerSocket3. Socket4. 服务器端代码5. 客户端代码 1. Socket简介 SocketJava套接字是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.mzph.cn/news/930498.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

外贸网站怎么做效果好平面设计公司怎么找客户

1.1 概述 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。习惯优于配置 1.2 为什么使用Spring Boot J2EE笨重的开发、繁多的配置、低下的开发效率、复杂的部署流程、第三方技术集成难度大。 1.3 Spring Bo…

深入解析:SpringBatch+Mysql+hanlp简版智能搜索

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Cisco vManage漏洞分析:未授权RCE与权限提升完整攻击链

本文详细分析了Cisco vManage中四个关键漏洞的组合利用链,包括SSRF+任意文件写入、未授权文件读取、命令注入和SUID权限提升,最终实现未授权root权限远程代码执行,影响企业SD-WAN基础设施安全。SD-PWN — 第3部分 —…

ps做游戏下载网站seo人员培训

本文由简码编程原创,保留所有版权,转载请注明出处。 本python人工智能爬虫系列教程基于Python3.0版本, 将python结合windows桌面开发工具aardio一起做可视化的开发, 用python做逻辑处理,用aardio做窗口界面, 不用再看着黑黑的python命令行窗口, 有window…

爱建站吧软文广告推广

对python这个高级语言感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧!访问FTP,无非两件事情:upload和download,最近在项目中需要从ftp下载大量文件,然后我就试着去实验自己的ftp操作类&…

铁总建设函网站怎么做招投标网站

看了很多教程,花了1天半的时间装上了,记录下。 前置条件:我安装了VS2015,用来编译工程。 参考资料 官方:http://www.vtk.org/Wiki/VTK/Building 安装:http://blog.csdn.net/Chinamming/article/details/1…

硅芯片创新如何成为云计算成功的关键

本文深入探讨了某中心通过自研芯片技术推动云计算发展的历程,包括Nitro系统、Graviton处理器及机器学习专用芯片的创新,揭示了硅芯片在提升性能、降低功耗方面的核心技术突破。硅芯片创新如何成为云计算成功的关键 某…

东萍象棋 DhtmlXQ UBB 转 中国象棋云库查询 FEN

<html><meta charset="utf-8"> <title>ubb2fen</title> <style> button { font-size:18pt; width:5em } #ta { outline:none } </style> <body> <p><bu…

【开源工具】基于PyQt5工作时长计算器工具开发全解析 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

十六、【前端强化篇】完善 TestCase 编辑器:支持 API 结构化定义与断言安装

十六、【前端强化篇】完善 TestCase 编辑器:支持 API 结构化定义与断言安装2025-10-07 14:04 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x…

斑马ZT210碳带及纸张安装教程

1、碳带安装方法说明图:2、纸张安装说明图:3、综合图:4、实物图:

石家庄网站搭建定制vi设计获奖作品

一.概述 1.1 以太网指的是由Xerox公司创建并由Xerox、Intel和DEC公司联合开发的基带总线局域网规范&#xff0c;是当今现有局域网采用的最通用的通信协议标准。以太网络使用CSMA/CD技术。 1.2 以太网在局域网各种技术中占统治性地位。 造价低;是应用最广泛的局域网技术。比令…

DHCP及DNS

dhcp enable //开启dncp ip pool xxx //创建一个叫xxx的地址池 network xxx.xxx mask yyy.yyy//设置地址池的相关参数 gateway-list zzz.zzz//设置地址池的网关 dns-list ddd.ddd//设置地址池的DNS huawei路由器还…

Gitlab Runner 学习

Gitlab Runner 学习 runner下载|安装|启动 下载 # 为您的系统下载二进制文件 sudo curl -L --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.s3.amazonaws.com/latest/binaries/gitlab-runne…

代做备案网站专业郑州企业网站建设

文章目录 1. 简介2. 用法1&#xff09;单个 CommandLineRunner2&#xff09;多个 CommandLineRunner 3. 优点4. 缺点总结 CommandLineRunner 是 Spring Boot 提供的一个接口&#xff0c;用于在 Spring Boot 应用程序启动后执行一些任务。通过实现 CommandLineRunner 接口&#…

东莞网站建设设计公司网站怎么添加域名

Redisson 中的 RScoredSortedSet 类是对 Redis 内置的 Sorted Set 数据结构的一个封装&#xff0c;它支持对集合中的元素进行排序&#xff0c;每个元素都有一个与之关联的分数(score)。 RScoredSortedSet 可以用于多种场景&#xff0c;以下是一些常见的使用案例&#xff1a; 排…

AI元人文:论价值原语博弈与人文知识库共建如何重塑智能社会的决策基石

AI元人文:论价值原语博弈与人文知识库共建如何重塑智能社会的决策基石 我们这个时代面临着深刻的人文困境。表面上是技术冲击与规则失能,实则是规则逻辑与人文逻辑的断裂。规则逻辑构筑现代社会的效率骨架,人文逻辑…

佳木斯网站建设网站建设报价明细表

【Matlab】智能优化算法_麻雀搜索算法SSA 1.背景介绍2.数学模型3.文件结构4.伪代码5.详细代码及注释5.1 Get_Functions_details.m5.2 main.m5.3 SSA.m 6.运行结果7.参考文献 1.背景介绍 麻雀通常是群居的鸟类&#xff0c;有很多种类。它们分布在世界的大部分地区&#xff0c;喜…

算法第一张作业

一、代码规范 对于大学生来说,不需要一开始就追求大公司那样面面俱到的规范,但也要抓住以下几个核心要点:命名规范,这是最重要、也是最容易见效的一条。 (1)变量/函数名:使用有意义的英文单词,不要用拼音或a, …