为什么accpet会重新返回一个套接字
2024-09-03 00:31:30
在服务器端,socket()返回的套接字用于监听(listen)和接受(accept)客户端的连接请求。这个套接字不能用于与客户端之间发送和接收数据。
accept()接受一个客户端的连接请求,并返回一个新的套接字。所谓“新的”就是说这个套接字与socket()返回的用于监听和接受客户端的连接请求的套接字不是同一个套接字。与本次接受的客户端的通信是通过在这个新的套接字上发送和接收数据来完成的。
再次调用accept()可以接受下一个客户端的连接请求,并再次返回一个新的套接字(与socket()返回的套接字、之前accept()返回的套接字都不同的新的套接字)。这个新的套接字用于与这次接受的客户端之间的通信。
假设一共有3个客户端连接到服务器端。那么在服务器端就一共有4个套接字:第1个是socket()返回的、用于监听的套接字;其余3个是分别调用3次accept()返回的不同的套接字。
如果已经有客户端连接到服务器端,不再需要监听和接受更多的客户端连接的时候,可以关闭由socket()返回的套接字,而不会影响与客户端之间的通信。
最新文章
- Hibernate-模板模式
- MVC5知识点记录
- linux 下串口独占方式打开
- Duilib源码分析(三)XML解析器—CMarkup
- (原创)mybatis学习二,spring和mybatis的融合
- 理解node模块的exports和module.exports
- Git学习笔记——一个NB的分布式版本控制系统
- (二)重拾单片机 第一天 LED灯
- mysql知识初篇(一)
- hive 0.11的安装配置
- WINHTTP的API接口说明。
- optimal-account-balancing
- STM32进入HardFault_Handler处理办法
- 报错:org.apache.hadoop.hive.metastore.HiveMetaException: Failed to get schema version.
- JAVA动态编译辅助类
- 27. Green Building 绿色建筑
- 【AtCoder Regular Contest 080E】Young Maids [堆][线段树]
- wikioi 3130 CYD刷题(背包)
- hasOwnProperty()函数
- 转载:详解在visual studio中使用git版本系统(图文)