- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我必须编写一段代码,我需要在 python 中使用 udp 协议(protocol)发送数据。我需要将数据包大小设置为网络的 MTU 值。有什么方法可以决定在 python 中编写一些代码的网络的 MTU 值吗?
最佳答案
这个答案来自 http://books.google.co.il/books?id=9HGUc8AO2xQC&pg=PA31&lpg=PA31&dq#v=onepage&q&f=false(第 31 页)
s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
hostName = #ip here
Port = 9999
s.connect((hostName, Port))
s.setsockopt(socket.IPPROTO_IP, IN.IP_MTU_DISCOVER, IN.IP_PMTUDISC_DO)
try:
s.send('#' * 1473)
except socket.error:
print 'The message did not make it'
option = getattr(IN, 'IP_MTU', 14)
print 'MTU:', s.getsockopt(socket.IPPROTO_IP, option)
else:
print 'The big message was sent! Your network supports really big packets!'
关于python - 如何通过代码(在python中)找到网络的mtu值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14010635/
获取 MTU 大小值的 POSIX 函数是什么??谢谢。 最佳答案 不,没有通用的 POSIX 函数。您可以做的最好的事情是在套接字上调用 GET_MTU/SIOCGIFMTU ioctl,但这不在
我是 BLE 开发的新手。我想通过 BLE 连接以最大吞吐量发送大量数据。 我有一个在 Linux 上运行的 GATT 服务器,以及一个在 Android 上作为应用程序运行的客户端。我创建了一个具有
我想通过ifconfig docker0 mtu 1400将docker0 mtu修改为1400,并且成功。 但过了一会儿,MTU回到1500。请帮忙,如何在我的K8S集群中修改docker0。 最佳
我是一名新手,正在尝试一些网络编程。我正在通过多播读取数据(请参见下面的代码),并且想要找到最大传输单元(MTU)或我可以读取的传输单元。任何人都可以指导我找到来源或方法来做到这一点。谢谢。 tr
我想知道是否有任何方法可以调整(在 Linux 系统上)给定套接字的 MTU。 (使 IP 层分段成比实际设备 MTU 更小的 block )。 当我说对于给定的套接字时,我并不是指在拥有套接字的应用
ifconfig 1.2.3.4 mtu 1492 这会将传入、传出数据包或两者的 MTU 设置为 1492?我认为它仅适用于传入 最佳答案 TLDR:两者都有。它只会传输有效载荷长度小于或等于该大小
我用 BluetoothGatt.requestMtu(512)在我的安卓应用程序中。 第一次效果很好 但是在 Mtu 自动更改为 23 之后(默认) 我不知道是什么问题... 这是一个日志 `D/B
我正在开发与 BLE 设备通信的应用程序。我可以轻松地在特征上写 20 个字节,但是当它超过 20 个字节时就会产生问题。我正在使用 mBluetoothGatt.requestMtu(512); 成
我的手机在向网络发送数据时出现问题。我认为我必须更改其 MTU 大小才能使其正常工作。 最佳答案 要更改 MTU 设置,您需要对手机进行 Root。在论坛中搜索如何操作。之后你需要安装一个终端模拟器并
我在 iOS 7 中使用 CoreBluetooth,并成功地让两台设备在彼此之间发送大量数据(一个是中央设备,一个是外围设备)。 在 iPhone 5 和 4S 之间我有一个 20 字节的 MTU,
我需要将 MTU 永久更改为 1500。我所说的永久是指如果我重新启动系统或将执行 service network restart,它将始终为 1500。 我关注了这篇文章http://www.cyb
如何找到连接之间的路径 MTU?我需要它来定义我的 UDP 连接的数据包大小。 .Net 中有 Path MTU Discovery 之类的东西吗? 最佳答案 我找到了一种方法(解决方法)来在 C#
我正在开发一个应用程序,我需要在多个 UDP 数据包中向客户端发送大量数据,我如何以编程方式确定我的 UDP 套接字的 MTU? 我需要能够在 Windows 和 Linux 上执行此操作。 最佳答案
对智能手机上 BLE 的参数进行一些跨平台研究。 我有 iOS 设备,因此嗅探了适用于 iOS 的 ATT_Exchange_MTU_Req/Rsp。 有没有人为 Android 做过同样的事情并获得
写入器程序使用固定缓冲区的多次写入发送几 MB(几乎没有延迟)。处理程序在 EPOLLOUT | 中注册。 EPOLLET 标志。 MTU=16KB,写入缓冲区 = 4KB 或更多。 write(..
我的 RAW-Socket 有一个小问题。我必须捕获网络中的数据包才能修改它们。为此,我必须添加特殊数据,例如时间戳。一切正常,但我的 MTU (Linux) 有问题。 如果上层的某些应用程序生成接近
我正在使用 ioctl(s, SIOCSIFMTU, (caddr_t)&ifr) 更改接口(interface)的 MTU。 代码类似这样 struct ifreq ifr; ifr.ifr_add
当我通过 TCP 套接字连接时,我的设备出现问题,因为客户端在 SYN 连接中发送 MSS,并且服务器(我的设备)使用相同的 MSS 设置,但我不想在我的设备中设置此 MSS。 那么我怎样才能在MSS
class A : boost::noncopyable { int type; A(int type, enum e) : type(type) { /* ... */ } } ty
我正在学习内核模块并且是新手。我想更改 eth0 的 MTU 大小。这是我写的模块程序。 本意是将 eth0 的 MTU 大小更改为 1000。但它没有得到更改。谁能告诉我,我错过了什么。如果方法本身
我是一名优秀的程序员,十分优秀!