在 Ubuntu 14.04 上支持 SCTP

Bab*_*nil 3 compiling

我正在开发一个应用程序,它会利用一些的SCTP(流控制传输协议)的API一样sctp_bindxsctp_connectx等等。

我的内核版本是 3.13.0-49-generic。

如果我尝试编译我的代码,我会得到

fatal error: netinet/sctp.h: no such file or directory.
Run Code Online (Sandbox Code Playgroud)

如果我安装lksctp-tools包,那么我的代码就会被编译。

我可以在不安装任何libsctp库的情况下使用 API吗?因为我读到 kenel 版本支持 SCTP > 2.1

Rma*_*ano 5

至少对于 14.04,apt-file说:

[romano:~] % apt-file search netinet/sctp.h
libsctp-dev: /usr/include/netinet/sctp.h
Run Code Online (Sandbox Code Playgroud)

所以编译任何代码#includes文件sctp.h需要安装包libsctp-dev通过和它的相关性

sudo apt-get install libsctp-dev
Run Code Online (Sandbox Code Playgroud)

如果您想在低级别(内核直接系统调用访问等)执行此操作,您可能应该复制库的所有样板代码——为什么要这样做?你不会sys_open()和朋友那样做,你libc习惯把这些很好地包裹起来。

使用apt show libsctp-dev.