4

我在搞乱套接字,我想在我的 mac 上使用 SCTP 协议进行测试。

但是,当我尝试包含该文件时netinet/sctp.h,编译器会给我一个“找不到文件”错误。

所以我做了一些挖掘,果然,netinet/sctp.hMac OSX Lion 上没有包含文件。为什么会这样,当我可以设置一个套接字时IPPROTO_SCTP,它构建得很好?

所以,总而言之,我有两个问题:

  • Mac OSX 上 SCTP 的标头在哪里?
  • 我仍然可以在没有正确标头的情况下设置 SCTP 服务器吗?如果是这样,怎么做?
4

2 回答 2

4

On LionIPPROTO_SCTP被定义在netinet/in.h- 这就是为什么它工作得很好,因为你可能netinet/in.h直接或间接地包括在内。但是,它只存在于 Lion 中,而不存在于任何早期的 OS X 版本中。(请注意,这netinet/sctp.h不是 POSIX 的一部分,我认为它不是可移植的)

于 2012-01-14T01:39:25.317 回答
0

看起来你可以做

brew install libusrsctp

您将在此处看到已安装的标头,尽管它可能是具有不同名称的不同实现:

cat /usr/local/Cellar/libusrsctp/0.9.5.0/include/usrsctp.h
于 2021-01-16T20:51:16.150 回答