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 - 调用列表上的函数

c - 将 const char 发送到函数并超出范围

c++ - 将拆分的 TCP 数据包与闪存套接字重新组合

c - OSX 上的 inet_ntoa() 段错误

python - 如何删除字符串中外括号之间的所有文本?

Python 等同于 Java Exception with cause

python - python 中的正则表达式匹配 Twitter 句柄

python - 如何在按下按钮后更改 TextInput 文本

c++ - 同一端口上的 WinSock 重新托管无法正常工作 C++

javascript - Sails.js 0.10 套接字未连接