有人能给我解释一下Python的总承包合同吗套接字.send()方法? 我正在制作某种流量发生器作为教育项目的一部分。在
我什么时候都做简单的日志记录套接字.send()方法执行时,我发送一些流量,并记录该方法完成时的时间(其中包括日志)。这些日志显示,我发送的消息比wireshark显示的要多,这发生在我的传出流量相对较高时。在
我读过: https://docs.python.org/2/howto/sockets.html#socket-howto
正如我提供的链接中提到的:“它们不一定处理你交给它们的所有字节(或期望它们的字节),因为它们的主要关注点是处理网络缓冲区。一般来说,当相关联的网络缓冲区被填满(send)'时,它们返回。在
如果我理解正确,就不能保证我的信息会被及时发送。我能读多少字节套接字.send()已处理,但我想知道“已处理”是什么意思。在
谁能给我解释一下:
当您使用TCP时,网络层保证传递给
send()
的所有字节都将被实际发送(否则,套接字将被关闭)。但是,听起来像是在计算数据包而不是字节。在您调用
send()
的次数与发送的数据包的数量并不总是有关系的。网络层可以自由地将传递给send()
的数据合并或拆分为不同大小的数据包,只要这些数据都能以相同的顺序发送到远程端。在如果您想对发送的数据包的数量进行更多控制,请使用UDP而不是TCP。在
相关问题 更多 >
编程相关推荐