如果您不理解错误消息,则表示您引用的是IN
当时不可用的名称。您的代码段可能缺少导入语句。
出于可移植性的原因,套接字模块可能不提供SO_BINDTODEVICE。如果您完全确定自己在支持它的Linux上运行,请尝试用它的数字值替换它25
:
s.setsockopt(socket.soL_SOCKET, 25, "eth1"+'\0')
或对于python 3:
s.setsockopt(socket.soL_SOCKET, 25, str("eth1" + '\0').encode('utf-8'))