news 2026/10/13 3:23:03

socket编程函数学习

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
socket编程函数学习

listen

函数原型:

int listen( SOCKET s, // 已经 bind 绑定好端口的socket(监听socket) int backlog // 等待连接队列的最大长度 );

返回值:

成功:返回 0

失败:返回SOCKET_ERROR

作用:把一个已经绑定IP端口的socket标记成监听socket,告诉操作系统这个socket不用主动发起连接,只需要等待别人连进来

参数backlog: 是内核等待accept的排队数量,如果队列满了新的客户端连接请求会被拒绝

accept

函数原型:

SOCKET accept( SOCKET s, // 输入:已经 listen 的监听socket struct sockaddr* addr, // 输出:存放对端(客户端)IP、端口信息,填NULL代表不获取 int* addrlen // 输入输出:addr结构体的字节大小 );

返回值:

成功:返回一个新的socket,用来和客户端收发数据

失败:返回INVALID_SOCKET,错误码用WSAGetLastError()获取 (必须在API失败后立刻调用,否则会被其他调用覆盖)

作用:从系统内核的已完成连接队列里,取出一个客户端连接

参数int* addrlen:调用accept之前,需要告诉系统对端addr需要缓冲区多大,accept返回后,系统会把实际写入的字节数写回这个变量

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/13 3:22:13

Burp Suite入门第一章:获取工具

Window11系统 第一步:配置JAVA环境 官方下载链接:Download Java 按照路径找到文件位置并复制 打开设置,搜索“高级系统设置”,点开“环境变量”,点击“系统变量”板块的“新建”,在“变量名”位置填写“J…

作者头像 李华
网站建设 2026/10/13 3:21:23

systemd timer Persistent=true 深度解析:时间戳机制与补跑逻辑

用 systemd timer 管理计划任务的人,迟早都会碰到一个叫Persistenttrue的选项。早晚而已。最常见的剧本是这样的:你写了一个每天凌晨 2 点跑的备份 timer,头天晚上合盖关机,第二天上午开机一看,备份没跑。于是你开始翻…

作者头像 李华
网站建设 2026/10/13 3:21:15

降AI后专业术语连贯性怎么保

降AI改稿之后,同一个专业术语在摘要、正文和结论里被换成了好几种说法,全文口径对不上,这是不少研究生遇到的真实困扰。我们围绕「术语连贯性保持」这一单项能力做了逐项评估,发现知学术AIPaperGPT在术语基准固定与跨段口径统一两…

作者头像 李华
网站建设 2026/10/13 3:20:38

Codex 接上 API 能回复,为什么一跑真实仓库就断?15分钟验收法

很多人测试 API 中转时,只问一句“你好”,收到回复就认为线路可用。 但 Codex 真正修改仓库时,还要连续经历:读取项目、长上下文、SSE 流式返回、工具调用、执行测试、失败重试和用量结算。短问答成功,只能证明最短链路…

作者头像 李华
网站建设 2026/10/13 3:20:33

工控软件配置管理:分层外置、默认值合并、热更新,一次设计对

工控软件配置管理:分层外置、默认值合并、热更新,一次设计对 先说结论:配置管理做错的代价,通常不是"程序起不来",而是**“程序在客户现场按错误参数安静地跑”**——地址连到隔壁线、单位差 1000 倍、超时短…

作者头像 李华