首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >UNIX版本的套接字编程技巧

UNIX版本的套接字编程技巧
EN

Stack Overflow用户
提问于 2014-03-02 04:26:51
回答 1查看 333关注 0票数 0

套接字编程在不同的UNIX版本(Linux、Solaris、FreeBSD、Mac、.)方面可能略有不同。例如,程序可能在Linux下运行良好,但Solaris不能运行,因为Solaris没有提供套接字选项。如果你是幸运的,你可以参考操作系统手册,但如果没有,这个陷阱可能会花费你一天。这些技巧可能不是通过一两本书获得的,它们是工程师的经验。我认为这些小贴士不仅可以帮助新手,也可以帮助他们体验。

我希望我们能分享这些建议。作为一个示例,我将在Solaris套接字编程中展示以下技巧:

  1. 添加以下链接选项:"-lresolv -lnsl -lsocket";
  2. Solaris不提供套接字选项: SO_SNDTIMEO和SO_RCVTIMEO;(https://stackoverflow.com/questions/15264801/why-does-solaris-os-define-so-sndtimeo-and-so-rcvtimeo-socket-options-in-header)
  3. 在SCTP编程中。必须在调用sctp_bindx()之前调用bind();(bindx (Solaris sctp library) always return "Invalid argument")
  4. 当调用侦听套接字上的关闭()时,它将导致ENOTCONN错误。(Why shutdown a socket can't let the select() return?)

有人能提供关于不同UNIX版本的套接字编程的其他提示吗?

EN

回答 1

Stack Overflow用户

发布于 2014-03-02 05:46:57

见Bishop等人,网络协议的严格规范和一致性测试技术,适用于TCP/IP、UDP和Socket,剑桥大学计算机实验室和NICTA,堪培拉,2005,可在网络上的不同地方获得。

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

https://stackoverflow.com/questions/22123858

复制
相关文章

相似问题

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