How to bind socket to an interface in python (socket.SO_BINDTODEVICE missing)

后端 未结 4 1617
攒了一身酷
攒了一身酷 2020-12-06 08:14

This is probably a very simple thing. I\'m new to python so don\'t crucify me.

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_         


        
4条回答
  •  醉梦人生
    2020-12-06 09:05

    You may even "export" a missing option:

    if not hasattr(socket,'SO_BINDTODEVICE') :
        socket.SO_BINDTODEVICE = 25
    

    then

    sock.setsockopt(socket.SOL_SOCKET, socket.SO_BINDTODEVICE, interface+'\0')
    

提交回复
热议问题