Я с очень большой проблемой в настоящее: У меня есть сервер, где пользователи могут подключаться и отправлять & получать сообщения, написанные на C# с использованием библиотеки Alchemy, но теперь у меня есть сообщения от пользователей, которых они не могут подключиться к серверу веб-сервера. В Serverlog они автоматически отключаются, а не соединяются.C# & JS WebSocket Некоторые пользователи не могут подключиться к серверу
Здесь C# Код:
internal static bool Init(int bindPort, int maxConnections)
{
_Port = bindPort;
_maxConnections = maxConnections;
_activeConnections = new HashSet<int>();
try
{
var aServer = new WebSocketServer(_Port, IPAddress.Any)
{
OnReceive = OnReceive,
OnSend = OnSend,
OnConnected = OnConnect,
OnDisconnect = OnDisconnect,
TimeOut = new TimeSpan(0, 5, 0)
};
aServer.Start();
Console.WriteLine(" [] WebSockets port: " + _Port + ".");
return true;
}
catch
{
Console.WriteLine(" WebSocket konnte nicht geladen werden");
return false;
}
}
public static void SendAll(string data)
{
foreach(UserContext Kubbo in OnlineUsers.Keys)
{
Kubbo.Send(data);
}
}
private static void OnConnect(UserContext context)
{
try
{
int connectionID = 0;
for (int i = 1; i < _maxConnections; i++)
{
if (_activeConnections.Contains(i) == false)
{
connectionID = i;
break;
}
}
if (connectionID > 0)
{
Console.WriteLine("[" + connectionID + "] Verbindung " + context.ClientAddress);
context.Send("A");
_activeConnections.Add(connectionID);
_acceptedConnections++;
var me = new User { Context = context };
OnlineUsers.Add(context, context.ClientAddress.ToString());
}
}
catch
{
}
}
internal static void OnDisconnect(UserContext context)
{
try
{
OnlineUsers.Remove((UserContext)context);
Console.WriteLine("[] Verbindung wurde geschloßen");
}
catch
{
Console.WriteLine("{}");
}
}
Javascript кода (на самом деле просто используя обычный сокет API, реализованный в JavaScript):
var ws = new WebSocket("ws://localhost:38819/");
ws.onopen = function()
{
ws.send("A");
alert("Connection sucessfully opened");
};
ws.onclose = function()
{
alert("Connection is closed...");
};
ОС - Windows Server 2008 PS: инициализация сервера websocket - это WebSocket.Init (38819, 250); 250 - максимальное соединение – user4389516
Является ли ваше приложение параллельным? –
nope, но у меня есть новая отметка, я протестировал 7 пользователей, у всех есть один и тот же браузер и версия, но у двух пользователей соединение каждый раз закрывается другими 5, работая как шарм, я действительно расстроен: / – user4389516