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

后端 未结 4 1641
攒了一身酷
攒了一身酷 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 08:50

    In Python, SO_BINDTODEVICE is present in IN module. Importing IN will solve the problem.

    import socket
    import IN
    
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.setsockopt(socket.SOL_SOCKET, IN.SO_BINDTODEVICE, "eth0")
    

提交回复
热议问题