访问被拒绝在Linux / Mono中进行Alchemy WebSocket创build

我的问题是几乎相同的单声道/ Linux套接字被拒绝? 但这个问题似乎并没有得到妥善解答,所以我仍然坚持下去。

我有一个使用Alchemy WebSockets编写的服务器。 我已经在Windows上正常工作,但在将其移植到Linux后,我无法使其工作。 每次尝试启动套接字服务器时,都会收到以下错误消息:

System.Net.Sockets.SocketException: Access denied at System.Net.Sockets.Socket.Bind (System.Net.EndPoint local_end) [0x00051] in /build/src/mono-2.10.8/mcs/class/System/System.Net.Sockets/Socket.cs:1104 at System.Net.Sockets.TcpListener.Start (Int32 backlog) [0x00022] in /build/src/mono-2.10.8/mcs/class/System/System.Net.Sockets/TcpListener.cs:268 at System.Net.Sockets.TcpListener.Start () [0x00000] in /build/src/mono-2.10.8/mcs/class/System/System.Net.Sockets/TcpListener.cs:243 at Alchemy.TcpServer.Listen (System.Object state) [0x00000] in <filename unknown>:0 

我试图绑定到1024以上的端口(在这种情况下,特别是12345),所以这不是问题。 我没有运行AppArmor或SELinux或类似的东西。 该端口没有在我的系统中使用。 如果有问题,我的用户是“networking”组的成员。 我的程序将绑定到套接字,如果我用sudo运行它,但这显然不是一个理想的情况。

这里是我用来创build套接字并开始监听的代码:

  static public void Start(int port, string host) { _server = new WebSocketServer(port, IPAddress.Parse(host)); _server.OnConnect = OnConnected; _server.OnDisconnect = OnDisconnect; _server.Start(); } 

“12345”作为“端口”传递,“192.168.0.11”(我的本地IP)作为“主机”传递。 我也试过IPAddress.Any无济于事。

Alchemy在843抛出Flash策略文件 – 尝试关闭实例化你的服务器时的flashsocketpolicy。

这是严格的权限问题

我的程序将绑定到套接字,如果我用sudo运行它,但这显然不是一个理想的情况。

这个问题已经在Stackoverflow的以前的帖子中被问到了。 单声道/ Linux套接字被拒绝?

我会尝试将“用户”添加到sudo的组中,将其作为快速解决方案进行修复。 如果使用ICMP或原始套接字,则必须以root用户的FYI身份运行。 仔细检查一下,炼金术是不是使用这个,如果你是有点运气没有超级用户权限运行它。

我试图张贴这个评论,但它不会让我,这不是一个真正的答案。

仅供参考,您向下选民。