我有一个 MVC4 网站,它需要一个 Web 套接字服务器,我在 Azure 云服务的 Web 角色中使用Alchemy实现了该服务器,如下所示:
namespace MvcWebRole1
{
public class WebRole : RoleEntryPoint
{
private static List<UserContext> Users = new List<UserContext>();
public override bool OnStart()
{
Task.Factory.StartNew(OnStartWebSocketServer, TaskCreationOptions.LongRunning);
return base.OnStart();
}
private void OnStartWebSocketServer()
{
var aServer = new WebSocketServer(5004, IPAddress.Any)
{
OnReceive = OnReceive,
OnSend = OnSend,
OnConnect = OnConnect,
OnConnected = OnConnected,
OnDisconnect = OnDisconnect,
TimeOut = new TimeSpan(0, 5, 0)
};
aServer.Start();
}
我目前仍在尝试在本地调试,但无法连接到服务器,我进入Unexpected response code: 200
了 Chrome 调试器。
有什么方法可以检查服务器是否正在运行,例如显示控制台?这甚至是一个好方法吗?我对 Azure 和 Web 套接字完全陌生,并且仍在尝试学习基础知识,所以如果我没有检查一些基本设置,请原谅。
编辑:正如 Sandrino 所建议的,我已经检查了网络角色端点。我已将所有内容切换到端口 5004,希望它未被使用。但是我仍然得到Windows Azure Tools: Warning: Remapping private port 5004 to 5005 in role 'MvcWebRole1' to avoid conflict during emulation.
. 我还在这些端口的防火墙中添加了一个例外,但仍然没有任何效果。