gpt4 book ai didi

c - Winsock 编程中的超时

转载 作者:行者123 更新时间:2023-11-30 18:00:58 25 4
gpt4 key购买 nike

我正在使用 go-back-n 窗口进行基本的 UDP 套接字文件传输服务器/客户端设置,不幸的是,由于分配限制,我只能使用 Winsock 进行此操作。

通常,为了管理未完成数据包的超时,我只会使用 signal(),但不确定这如何/是否真正在 Windows 上起作用,以及这是否实际上是最佳解决方案。有没有一些最好的方法来处理这些类型的套接字超时?或者我最好只是使用 select() 来管理超时?

最佳答案

如果您的应用程序有一个“main()”函数,那么使用 select() 来管理超时是最方便的,因为它的优点是仅使用套接字 api 调用,因此代码应该可以在任何支持 bsd 的平台上运行样式套接字 api,不需要 Windows 消息循环。

如果您正在编写一个窗口 GUI 样式应用程序 - 通常带有 WinMain() 入口点和消息循环,则套接字句柄上的 WSAAsyncSelect() 将得到读取(和写入)发布到 HWND 的就绪通知消息 - SetTimer 同样发布定期 WM_TIMER 通知,并且 GetTickCount 可用于检测哪个套接字闲置太久了。

关于c - Winsock 编程中的超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10066083/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com