Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
UNIX风格中的Socket编程技巧_C_Sockets_Unix_Network Programming - Fatal编程技术网

UNIX风格中的Socket编程技巧

UNIX风格中的Socket编程技巧,c,sockets,unix,network-programming,C,Sockets,Unix,Network Programming,套接字编程在不同的UNIX风格(Linux、Solaris、FreeBSD、Mac OS等)中可能有细微的差异。例如,一个程序可能运行良好 在Linux下,但不是Solaris,因为Solaris不提供套接字选项。如果你幸运的话,你可以在操作系统手册中找到它,但是如果不是,这个陷阱 可能要花你一天的时间。 这些技巧可能不是一两本书就能学到的,它们是工程师的经验。我认为这些技巧不仅可以帮助新手,也可以帮助有经验的人 我希望我们能分享这些小贴士。作为示例,我将在Solarissocket编程中展示以

套接字编程在不同的UNIX风格(Linux、Solaris、FreeBSD、Mac OS等)中可能有细微的差异。例如,一个程序可能运行良好 在Linux下,但不是Solaris,因为Solaris不提供套接字选项。如果你幸运的话,你可以在操作系统手册中找到它,但是如果不是,这个陷阱 可能要花你一天的时间。 这些技巧可能不是一两本书就能学到的,它们是工程师的经验。我认为这些技巧不仅可以帮助新手,也可以帮助有经验的人

我希望我们能分享这些小贴士。作为示例,我将在Solarissocket编程中展示以下技巧:

  • 添加以下链接选项:“-lresolv-lnsl-lsocket”
  • Solaris不提供套接字选项:SO_SNDTIMEO和SO_RCVTIMEO;()
  • 在SCTP编程中。在调用sctp_bindx()之前必须调用bind();()
  • 在侦听套接字上调用shutdown()时,将导致ENOTCONN错误。()
  • 可以在不同的UNIX口味中提供关于Socket编程的其他提示吗?

    < P>见Bishop等,严格的规范和一致性测试技术,适用于TCP/IP,UDP和Socket,剑桥大学计算机实验室和NICTA,堪培拉2005,可在Web上的不同地方使用。