首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TCP网络-手动程序SYN,SYN,ACK?

TCP网络-手动程序SYN,SYN,ACK?
EN

Stack Overflow用户
提问于 2016-12-14 21:34:33
回答 1查看 3.3K关注 0票数 3

如果您正在编写一个基本的python服务器和客户端,您需要自己添加SYN、SYN和ACK响应,还是由套接字模块来处理呢?

如果你需要自己写,它会像这样简单吗?

客户端:

代码语言:javascript
复制
#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%正确,只是好奇它背后的逻辑

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-14 21:39:13

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

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

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

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41152584

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档