sockets - RST 在通过 TCP 套接字的视频流中?

标签 sockets networking tcp network-programming video-streaming

我有一个通过 UDP 传输视频流的应用程序,它完全成功。我将套接字更改为 TCP。当它在几个数据包传输后运行时,接收方发送 RST 并且它停止工作。 (大长度的数据包也很奇怪,在 MTU 为 1400 时从发送方传输到接收方 - 这是什么数据包?)

enter image description here

我检查了接收者和发送者的日志。接收方收到的最后一个数据包有一个大而奇怪的序列号(转储数据包)。它出错,然后应用程序停止。发件人没有发送这样的数据包。这个数据包是从哪里来的?是传输层实现的吗?

enter image description here

当我在每次发送数据包后向发送方添加一个 sleep 时间(0.1 秒)时。该程序在 Wireshark 中没有任何奇怪的大长度数据包或奇怪的序列号的情况下工作但这不是视频的合理解决方案。 你现在有什么建议?可能是什么问题呢?如何分析这个网络?怎么解决?

最佳答案

这不是一个奇怪的长度。这可能是 tcp 卸载。看 ethtool -k 界面。关闭卸载,然后重试。第一个可能无关。这可能是一个应用程序问题。

关于sockets - RST 在通过 TCP 套接字的视频流中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42031219/

相关文章:

java - 我有一个 GreetingServer.java (使用套接字)。想为它制作一个JFrame

linux - 树莓派 : Unable to set my RPI as a router

java - 服务器-客户端通信包内容策略

Android使用处理程序将数据从TCP线程发送到不同的 Activity

python - 如何获得发出 TCP 请求和操作系统收到响应的实际时间

c - 如何连接到宽带共享 IP 中的客户端

c - 在对等方关闭的 TCP 套接字上写入

java - GC 期间未引用的套接字对象

c++ - Boost asio async_read_some 返回少量数据

networking - 在线发送数据/字符串到连接到互联网的设备