const char *opt;opt = "eth0";const len = strnlen(opt, IFNAMSIZ);if (len == IFNAMSIZ) { fprintf(stderr, "Too long iface name"); return 1;}setsockopt(sd, SOL_SOCKET, SO_BINDTODEVICE, opt, len);第一行:设置变量
第二行:告诉程序绑定到哪个接口
第3-5行:获取接口名称的长度,并检查其大小是否太大。
六行:设置套接字的套接字选项
sd,绑定到设备
opt。
setsockopt原型:
int setsockopt(int s, int level, int optname, const void *optval, socklen_t optlen);
此外,请确保您包括
if.h,
socket.h和
string.h头文件



