前言:最近开始通过unix网络编程一书学习网络通信,碍于作者用自己写的unp.h头文件,安装过程没遇到问题,反而是使用时和c++的各种头文件起冲突导致个把千的报错。
解决方法:unp.h本质上就是作者把常用的头文件写在了里面,我不用unp.h,自己加好了。书中也指出了对应的函数/结构体的头文件
其中,SCTP协议的相关库需要额外安装(比如netinet/sctp.h)
ubuntu下安装:
sudo apt-get install libsctp-dev lksctp-tools
用到的头文件:
#include <sys/socket.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#include <netinet/sctp.h>
#include <netdb.h>
如果你在学习sctp时遇到了如下报错:
xpected identifier before numeric constant
是因为in.h和sctp.h重复定义了IPPROTO_SCTP,把in.h在sctp.h前显示导入即可,即:
#include <netinet/in.h>
#include <netinet/sctp.h>
好神奇。。。。。。