我正在写这篇文章,以找出为什么下面的代码导致SuperSocket服务器的设置失败。
var appServer = new AppServer();
if (!appServer.Setup(8080)){
MessageBox.Show("Failed!");
}
我添加了防火墙中的规则,该规则允许端口8080,因为我的防火墙是由公司启用的。不知道为什么设置失败。有解释吗?
在使用以下内容在控制台应用程序中测试此>
(需要Nuget软件包SuperSocket
和SuperSocket.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();
}
}
}
操作成功完成。
在线查看代码,基础连接仍然基于Socket
(按照软件包的名称所示(。因此,它遵守围绕插座通常在.net中运作的所有规则。
可能导致插座无法设置的东西是(但不限于(
- 插座正在使用
- 插座已关闭
- 操作系统用完了可用的插座(在技术上不可能,但在技术上不可能(
没有更多详细信息您得到的例外,我只能猜测,但我怀疑插座正在使用,因为8080
是80
的常见替代方法。