SuperSocket无法设置服务器

时间:2018-02-20 16:56:31

标签: c# supersocket.net

我写这篇文章是为了找出下面代码导致超级服务器设置失败的原因。

    var appServer = new AppServer();
    if (!appServer.Setup(8080)){
        MessageBox.Show("Failed!");
    }

我在防火墙中添加了允许端口8080的规则,因为我的防火墙是由公司IT启用的。不知道为什么设置失败。有解释吗?

1 个答案:

答案 0 :(得分:3)

使用以下内容在控制台应用程序中进行本地测试(需要NuGet包SuperSocketSuperSocket.Engine;

namespace SupersocketTest
{
    using System;
    using SuperSocket.SocketBase;

    class Program
    {
        static void Main(string[] args)
        {
            var server = new AppServer();
            bool success = server.Setup(8080);
            Console.WriteLine($"Server setup: {success}");
            Console.ReadKey();
        }
    }
}

操作成功完成。

在线查看code,基础连接仍以Socket为基础(正如包名称所暗示的那样)。因此,它受制于.NET中套接字如何正常工作的所有规则。

导致Socket无法设置的事情是(但不限于)

  • 套接字正在使用
  • 套接字已关闭
  • 操作系统已用尽可用套接字(不太可能但技术上可行)

如果没有关于您获得的异常的详细信息,我只能猜测,但我怀疑套接字正在使用,因为8080是另一个应用程序可能正在使用的80的常见替代方法。 / p>