与BSD风格相比,使用WSA winsock函数的Windows有什么好处吗?与BSD式套接字函数相比,使用Windows winsock API函数有什么好处吗?
0
A
回答
2
最显著差别是Winsock的异步事件风格的API的可用性。
伯克利插座,每次read
或write
你的申请将“块”,直到网络已准备就绪,这可能使您的应用程序没有响应(除非网络I/O是在不同的线程处理)。
随着异步接口,可以为一个回调函数安排被称为正常窗口消息循环每次接收数据时,或者当发送缓冲器为空的一部分。
2
只有当您计划部署到像Windows 95这样的传统平台,或者winsock API中有某些东西是绝对不能缺少的东西时,您不想自己推出(< - 可疑的寿)。
0
对于参宿一的答案,我同意 - 我只想补充一点,你不需要使用消息循环使用非同步操作上的插座。使用I/O完成端口是构建高性能网络应用程序的一种非常可扩展的方式。
1
如果你周围的BSD范型设计,你的代码可以在其他平台上以较少的移植工作,工作。如果你认为你的网络库将支持异步I/O(就像Alnitak提到的那样),如果你的网络库从你下面被取消,你将不得不做更多的工作。
当然,如果你确信你将永远不会离开微软的温暖怀抱,随意去镇上。
相关问题
- 1. winsock套接字函数中的协议参数是什么?
- 2. 与MediaPlayer类中的pause()函数相比,stop()函数的好处是什么?
- 3. winsock的BSD套接字兼容包装?
- 4. C#7本地函数相比lambdas有什么好处?
- 5. 使用函数表达式而不是函数声明有什么好处?
- 6. Python函数注释有什么好处?
- 7. 函数参考有什么好处?
- 8. POSIX套接字和BSD套接字有什么区别?
- 9. 有什么好处导出函数调用自比功能直接返回
- 10. 函数立即返回给函数有什么好处?
- 11. 直接在jQuery对象上定义效用函数有什么好处吗?
- 12. 有什么办法从用户模式调用Windows Native API函数吗?
- 13. 这样写jQuery onload函数有什么好处吗?
- 14. 命名函数声明有什么好处吗?
- 15. Linux上定义的BSD套接字函数在哪里?
- 16. 为python类使用“获取函数”有什么好处?
- 17. 在php中使用匿名函数有什么好处?
- 18. 使用类型来表示函数有什么好处?
- 19. 使用拷贝构造函数有什么好处?
- 20. 函数($ var)和函数()使用($ var)有什么不同吗?
- 21. 拦截套接字函数(windows)
- 22. 在TypeScript的函数中使用静态修饰符有什么好处吗?
- 23. Windows套接字API绑定函数编译问题
- 24. 套接字API函数的语义
- 25. winsock和BSD套接字实现之间的差异
- 26. 添加没有任何参数的构造函数有什么好处吗?
- 27. 让Javascript函数的名称以小写字母开头有什么好处吗?
- 28. 了解ML中函数返回函数的好处是什么?
- 29. 与没有参数的简单<form>标签相比,使用html beginform有什么好处吗?
- 30. 使用回调函数vs只在函数内插入函数有什么好处
在Linux,BSD套接字允许非阻塞读,或者你可以使用select(),看看是否有任何数据可用。我假设在Windows上也是如此,但可能是BSD套接字API中缺少该功能。 – davr 2009-12-21 02:47:14