Anv*_*vay 18 python sockets networking reset
我使用python的socket.py来创建到ftp-server的连接.现在我想重置连接(发送RST标志)并监听ftp-server的响应.(使用socket.send('','R')的FYI不起作用,因为OS发送FIN标志而不是RST.)
cro*_*ent 36
打开SO_LINGER套接字选项并将延迟时间设置为0秒.这将导致TCP在关闭时中止连接,刷新数据并发送RST.参见UNP中的7.5节和例15.21.
在python中:
def client(host, port):
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM, 0)
s.connect((host, port))
l_onoff = 1
l_linger = 0
s.setsockopt(socket.SOL_SOCKET, socket.SO_LINGER,
struct.pack('ii', l_onoff, l_linger))
# send data here
s.close()
Run Code Online (Sandbox Code Playgroud)