TCP服务器的编写(上)

tcp服务器的初始化,第一件事情就是创建套接字

目前来说我们的tcp套接和udp套接是没有任何区别的!!!

那么接下来,如果是udp创建好套接字在进行绑定,那么基本上就完成我们udp服务器的初始化

而我们tcp创建好套接字,在进行绑定,因为我们tcp是面向连接的,当我们正式通信的时候,需要建立连接

这样子也就完成了,我们tcp服务器的初始化


这是我们的第一版服务器


我们尝试用两个客户端访问我们的服务器

但是当我让第一个客户端,退出时

只能够进行一次处理一个客户端,处理完了一个 , 才能处理完下一个

很显然,是不能够直接被使用的!! ---- 为什么??如何解决呢??

因为我们目前写的是单进程,获取连接成功,进行server时,server内部是一个死循环,这个死循环在进行读取,如果server内部死循环不退出,那么一直在进行读取,但进程的执行流,就无法回到上面accept获取新连接

相关推荐
酷酷的崽7982 小时前
CANN 生态可维护性与可观测性:构建生产级边缘 AI 系统的运维体系
运维·人工智能
做人不要太理性2 小时前
CANN Runtime 运行时组件深度解析:任务调度机制、存储管理策略与维测体系构建逻辑
android·运维·魔珐星云
XiaoFan0122 小时前
免密批量抓取日志并集中输出
java·linux·服务器
souyuanzhanvip3 小时前
ServerBox v1.0.1316 跨平台 Linux 服务器管理工具
linux·运维·服务器
文静小土豆3 小时前
Docker 与 containerd 代理配置详解:镜像拉取速度慢的终极解决方案
运维·docker·容器
roman_日积跬步-终至千里3 小时前
【LangGraph4j】LangGraph4j 核心概念与图编排原理
java·服务器·数据库
野犬寒鸦4 小时前
从零起步学习并发编程 || 第六章:ReentrantLock与synchronized 的辨析及运用
java·服务器·数据库·后端·学习·算法
HalvmånEver4 小时前
Linux:线程互斥
java·linux·运维
JY.yuyu5 小时前
Docker常用命令——数据卷管理 / 端口映射 / 容器互联
运维·docker·容器
alice--小文子5 小时前
cursor-mcp工具使用
java·服务器·前端