我正在使用该命令socat
从实时直播流端口转发连接。
TCP4-LISTEN:8080 TCP4:123.456.789.12:80
问题是它增加了延迟和低 fps,而没有端口转发的实时流可以完美地工作,没有延迟和高 fps。
- 这可能是什么原因造成的?
- 有没有办法修复此配置
socat
或者我应该使用其他方法?
答案1
我不是这方面的专家socat
,但是在快速查看它的名称(SOcket CAT)之后,它似乎通过打开两个套接字并在用户空间中操作它们来实现。
正如 slm 所建议的,为什么不通过来配置它iptables
?
Iptables 是一个配置 netfilter 的用户空间应用程序。 Netfilter 代码嵌入在内核中。它可能会带来更好的性能,因为转发的数据包不需要从内核空间传递到用户空间,反之亦然。
资源
答案2
在防火墙中:
$ sudo firewall-cmd --zone=public --add-masquerade
$ sudo firewall-cmd --zone="public" \
--add-forward-port=port=8080:proto=tcp:toport=80:toaddr=123.123.123.123
请iptables
参阅此 SF 问答,标题为:如何在同一网络中将端口从一个IP转发到另一个IP?。