如果您正在编写一个基本的python服务器和客户端,您需要自己添加SYN、SYN和ACK响应,还是由套接字模块来处理呢?
如果你需要自己写,它会像这样简单吗?
客户端:
#set up clientSocket
data = "SYN"
clientSocket.send(data.encode('utf-8'))
if((clientSocket.recv(1024)).decode('utf-8') == "SYN ACK") {
data = "ACK"
clientSocket.send(data.encode('utf-8'))
}服务器以类似的方式响应,检查recv是否为SYN,然后发送SYN。如果不是,正确的实施方法是什么?没有运行上面的代码,没有担心语法100%正确,只是好奇它背后的逻辑
发布于 2016-12-14 21:39:13
SYN和ACK由操作系统处理,用户不直接干预。用户程序不需要,也不能发送初始的SYN、SYN、ACK握手包.
作为socket.socket.connect()的结果,初始SYN是代表客户端发送的。
作为socket.socket.listen()的结果,初始SYN是代表服务器发送的。
https://stackoverflow.com/questions/41152584
复制相似问题