I'm using tanel's source 5165 with impulses socket system and I got a problem with the login.
There are some guys that can't log in because of the red line (sometime and for some IPs not all of them, even though it's fixed after the server is restarted)
Code:
string IP = wr._socket.RemoteEndPoint.ToString().Split(':')[0].ToString(); if (!Connections.ContainsKey(IP)) [B][COLOR="Red"]Connections.Add(IP, 1);[/COLOR][/B]
Code:
System.IndexOutOfRangeException: Index was outside the bounds of the array. at System.Collections.Generic.Dictionary`2.Resize() at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value) at NewestCOServer.Main.Sockets.MasterSocket.AcceptConnections(IAsyncResult result) in E:\CO PROJECTS\5165\Fixed Source\rikardo updated\Main\Sockets\MasterSocket.cs:line 48
also example of ips that are unable to log in(until server is restarted):
Code:
99.98.64.159 41.237.113.249 173.210.141.250 81.154.141.95
also if you leave it as it is and turns into this error the login server is turning off...if you make it like
Code:
string IP = wr._socket.RemoteEndPoint.ToString().Split(':')[0].ToString(); if (!Connections.ContainsKey(IP)) try { Connections.Add(IP, 1); } catch (Exception E) { Program.WriteLine(E.ToString()); Program.WriteLine("error ip: " + IP); wr._socket.Disconnect(false); _socket.BeginAccept(AcceptConnections, new Wrapper()); return; }