Ubuntu 14.04 支持 SCTP

Ubuntu 14.04 支持 SCTP

我正在开发一个应用程序,它将利用连续传输协议(流控制传输协议)API sctp_bindx,如sctp_connectx等。

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

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

fatal error: netinet/sctp.h: no such file or directory.

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

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

答案1

至少对于 14.04 来说,apt-file它表示:

[romano:~] % apt-file search netinet/sctp.h
libsctp-dev: /usr/include/netinet/sctp.h

因此,要编译#include该文件的任何代码,sctp.h您需要通过以下方式安装包libsctp-dev及其依赖项

sudo apt-get install libsctp-dev

如果您想在低级(内核直接系统调用访问等)上执行此操作,您可能应该复制库的所有样板代码 --- 您为什么要这样做? 您不会和sys_open()朋友一起这样做,而是习惯于libc将它们很好地包装起来。

通过 获得关于这个(以及任何)包的更多信息apt show libsctp-dev

答案2

要安装它,请按Ctrl+ Alt+T进入终端并输入:

apt-get install libsctp-dev

相关内容