我的dockerized服务(webrtc服务器)同时使用TCP和UDP传输协议。我在Azure Kubernetes服务公司工作。如您所知,我们无法在Kubernetes中同时使用TCP和UDP proto创建LoadBalancer服务(更多信息请参见此处)
此外,我还尝试创建了两个服务:
用一个公共IP绑定它们,但得到:“确保负载平衡器”消息。
唯一的解决方案是使用NodePort,但在Azure中它对我不起作用(连接超时)。
这里是我的服务YAML:
apiVersion: v1
kind: Service
metadata:
name: mcu
spec:
selector:
app: mcu
ports:
- name: mcu
nodePort: 30000
port: 8080
protocol: TCP
- name: webrtc
nodePort: 30003
port: 10000
protocol: UDP
type: NodePort
externalIPs:
- <ext IP>
对混合TCP/UDP协议的支持取决于云提供商。例如,Azure支持它,但AKS在撰写本文时可能还没有支持它的版本。
不清楚是什么导致了连接超时
,但只要您将Azure UDP负载均衡器指向30003
节点端口,它就可以正常工作。您还可以在集群节点中本地测试将UDP通信发送到服务clusterip:10000
您还可以检查您的服务是否具有终结点:
$ kubectl describe svc <service-name>
或/与:
$ kubectl get ep
框架默认提供创建 TCP/UDP 服务的能力。只需要进行简易的配置,便可使用。 使用 TCP 服务 创建 TcpServer 类 <?php declare(strict_types=1); namespace App\Controller; use Hyperf\Contract\OnReceiveInterface; class TcpServer implements OnRecei
根据它的文档,citrix-ingress似乎允许这样做,但我们有很多问题让它工作。 有没有什么我们可能错过的方法可以做到这一点?想要确保我们没有错过一些明显的东西。
我已经编写了一个服务器-客户端(两个程序)结构,它工作正常。。。仅当使用TCP时。我的想法是使用TCP进行文本聊天传输(udp不可靠),但使用udp进行游戏数据包传输(是的,这是一种每秒30帧的动作游戏,所以我需要udp)。 但是,当我在客户端进程中与TCP建立连接时,我开始向服务器程序发送UDP数据包,并从服务器程序接收UDP数据包。客户端在单个线程中使用非阻塞套接字、UDP和TCP。这里没有多
null null 是否可以将来自负载均衡器的所有端口直接路由到Azure Kubernetes服务下的NGINX入口 对我的用例的其他建议
本文向大家介绍TCP和UDP之间的区别,包括了TCP和UDP之间的区别的使用技巧和注意事项,需要的朋友参考一下 众所周知,TCP(传输控制协议)和UDP(用户数据报协议)都是使用最广泛的Internet协议,其中TCP是面向连接的-一旦建立连接,就可以双向发送数据。UDP是一种更简单的无连接Internet协议。使用UDP将多条消息作为数据包成块发送。现在,根据属性的特征,我们可以区分TCP和UD
UDP-TCP Bridge 是一个用C++实现的跨平台的协议转发器,用来实现在 UDP 的基础上实现 TCP 通讯。