C#中用Fleck Websocket监听所有主机地址报错,如何解决?
解决Fleck监听所有主机名的问题
Fleck不支持ws://+:3002/这种以+作为主机的URI格式,这是它的URI解析逻辑和HttpListener不同导致的。要实现监听所有主机地址,你可以改用以下两种写法:
监听所有IPv4地址:
private const string SOCKETWEBSITE = "ws://0.0.0.0:3002/"; WebSocketServer server = new WebSocketServer(SOCKETWEBSITE); server.Start(HandleSocket);监听所有IPv6地址(若要同时兼容IPv4,需系统开启双栈支持):
private const string SOCKETWEBSITE = "ws://[::]:3002/"; WebSocketServer server = new WebSocketServer(SOCKETWEBSITE); server.Start(HandleSocket);
使用0.0.0.0或[::]配置后,服务器会监听所有可用的网络接口,和你原本用+的需求效果一致,能正常配合Cloudflare Tunnel使用。
内容的提问来源于stack exchange,提问作者Han Han
相关产品推荐
相关产品推荐

