首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >移植Windows程序到Unix: unix中winsock32 API的替代方案

移植Windows程序到Unix: unix中winsock32 API的替代方案
EN

Stack Overflow用户
提问于 2010-06-15 12:42:33
回答 4查看 548关注 0票数 0

在套接字编程中,如果连接关闭,Unix线程将如何从客户端接收套接字关闭事件?

是否有任何API将通知unix线程有关收到的关闭事件?

和Windows一样,我们有WSAEnumNetworkEvents API,它可以获取指定套接字描述符的事件通知。Unix套接字编程中使用的等效API是什么?

请提供查询帮助。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-06-15 12:48:03

您可以在执行读取时跟踪关闭事件。当read返回0时,套接字关闭(当然是指"Berkeley套接字“)。

//编辑:使用pollselect等待某个事件的发生(数据到达、套接字关闭...)。

票数 2
EN

Stack Overflow用户

发布于 2010-06-15 12:44:13

抱歉,没有时间回答,但请查看Beej's Guide to Network Programming

票数 0
EN

Stack Overflow用户

发布于 2010-06-15 12:48:11

你有没有想过使用boost::asio,这样你至少可以在linux和windows之间共享代码。与裸套接字相比,开销并不是很大,而且您可以从更好的语义中获益。boost中的许多部分代码都已进入标准C++,因此代码的质量相当高。

这涉及到重写您的软件,这可能不是一个选项。另一方面,你需要维护一个通用的代码库。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3042543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档