Python套接字编程和ISO-OSI模型

标签 python sockets

我正在从一台电脑向另一台电脑发送数据包。我正在使用 python 套接字 socket.socket(socket.AF_INET, socket.SOCK_DGRAM)。我们需要注意接收数据包的顺序吗? 在 ISO-OSI 模型中,传输层下面的层处理所有数据包通信。程序中是否存在所有 ISO-OSI 层?或者其中一些存在于操作系统中? 在本地主机上,我按顺序获取所有数据包。 它对互联网有什么影响吗?

最佳答案

SOCK_DGRAM 表示您要通过 UDP 发送数据包——不保证顺序,不保证接收,不保证不重复。 SOCK_STREAM 将暗示 TCP——没有数据包边界保证,但是(除非连接断开;-)保证顺序、接收和无重复。 TCP/IP 是网络模型,它赢得了每一个现场实践者的心和灵魂并使互联网成为现实,符合 ISO/OSI -- 一个在在起草 table 上,从未真正在现实世界中获胜。

她生活和呼吸的互联网始终是 TCP/IP。不要依赖在低延迟本地网络上完成的测试,因为它以任何方式代表现实世界中会发生的事情。欢迎来到现实世界,顺便说一句,祝你好运(你需要一些!-)。

关于Python套接字编程和ISO-OSI模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1458087/

相关文章:

python - 无法在 Pipenv 上切换 python 版本

linux - linux select() 如何工作?

ruby - Ruby 和 Net::SCP 传输(套接字)的性能问题

java - 为 jeromq 运行 mvn 包时出错 : "Bind Cannot assign requested address: connect"

python - 不使用 OR 来匹配的正则表达式 (name ="myName".*house ="myHouse"|house ="myHouse".*name ="myName")

python类相互依赖,如何初始化?

python - IRC 机器人 Python |识别昵称

c - 听(): invalid argument

python - 如何让 matplotlib.Figure() 接受 Drop 事件来绘制数据?

python - OpenCV-Python接口(interface)、cv和cv2的性能比较