打开的 TCP 套接字连接在不使用时会消耗数据吗?

打开的 TCP 套接字连接在不使用时会消耗数据吗?

我在我的服务器和安装了活动 GSM 模块和 SIM 卡的调制解调器之间建立了 TCP 套接字连接。

我通过 socat 创建了这个无线 3G 连接:

/usr/bin/socat open:/dev/ttyVA8500,nonblock,echo=0,raw TCP-LISTEN:8500,reuseaddr,fork

这个小命令监听端口 8500 上的 TCP 连接并将数据写入虚拟串行端口/dev/ttyVA8500。现在,当我写入服务器上的虚拟串行端口时,数据将发送到调制解调器,然后调制解调器将发送响应。

这次通信需要流量。我可以在 GSM 提供商的监控工具中看到这个流量。

问题

即使我没有与调制解调器通话,我也可以在 GSM 监控中看到数据消耗。它要少得多,大约每小时 2 kiB。但我每月的限制是 1 MB。所以我的问题是这个“幽灵”3G 数据消耗来自哪里?TCP 套接字连接本身是否消耗流量来保持其活动状态?

当我没有与 TCP 连接对话时,我使用 tcp 嗅探器来检查幽灵流量:

sudo tcpflow -i any -C -e port 8502

但是这并没有显示任何流量(当我再次开始通信时,它列出了所有数据;))。

答案1

不,当你没有与服务器对话时,它不会接收任何数据,但是你连接的 gsm 模块必须维持连接或保持连接活动,因此它必须每隔几秒发送一次保持连接活动的信号,你可以通过断开数据来改进它,并且只有当你开始与服务器对话时才启用它

相关内容