gpt4 book ai didi

python - TCP 网络 - 手动编程 SYN、SYN ACK、ACK?

转载 作者:可可西里 更新时间:2023-11-01 02:35:54 28 4
gpt4 key购买 nike

如果您正在编写一个基本的 python TCP 服务器和客户端,您需要自己添加 SYN、SYN ACK 和 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 ACK。如果不是,正确的实现方式是什么?没有运行上面的代码,不关心语法是否 100% 正确只是好奇它背后的逻辑

最佳答案

SYN 和 ACK 由操作系统处理,用户无需直接干预。用户程序不需要也不能发送初始 SYN、SYN-ACK、ACK 握手数据包。

作为 socket.socket.connect() 的结果代表客户端发送初始 SYN。

作为 socket.socket.listen() 的结果代表服务器发送初始 SYN-ACK。

关于python - TCP 网络 - 手动编程 SYN、SYN ACK、ACK?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41152584/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com