Ignore:
Timestamp:
Nov 16, 2018, 10:38:46 PM (6 years ago)
Author:
alloc
Message:

*Latest optimizations

File:
1 edited

Legend:

Unmodified
Added
Removed
  • binary-improvements/MapRendering/Web/ConnectionHandler.cs

    r326 r332  
    11using System;
    22using System.Collections.Generic;
     3using System.Net;
    34
    45namespace AllocsFixes.NetConnections.Servers.Web {
     
    67                private readonly Dictionary<string, WebConnection> connections = new Dictionary<string, WebConnection> ();
    78
    8                 public WebConnection IsLoggedIn (string _sessionId, string _endpoint) {
     9                public WebConnection IsLoggedIn (string _sessionId, IPAddress _ip) {
    910                        if (!connections.ContainsKey (_sessionId)) {
    1011                                return null;
     
    1819//                      }
    1920
    20                         if (con.Endpoint != _endpoint) {
    21                                 connections.Remove (_sessionId);
     21                        if (!Equals (con.Endpoint, _ip)) {
     22                                // Fixed: Allow different clients from same NAT network
     23//                              connections.Remove (_sessionId);
    2224                                return null;
    2325                        }
     
    3234                }
    3335
    34                 public WebConnection LogIn (ulong _steamId, string _endpoint) {
     36                public WebConnection LogIn (ulong _steamId, IPAddress _ip) {
    3537                        string sessionId = Guid.NewGuid ().ToString ();
    36                         WebConnection con = new WebConnection (sessionId, _endpoint, _steamId);
     38                        WebConnection con = new WebConnection (sessionId, _ip, _steamId);
    3739                        connections.Add (sessionId, con);
    3840                        return con;
     
    4042
    4143                public void SendLine (string line) {
    42                         foreach (WebConnection wc in connections.Values) {
    43                                 wc.SendLine (line);
     44                        foreach (KeyValuePair<string, WebConnection> kvp in connections) {
     45                                kvp.Value.SendLine (line);
    4446                        }
    4547                }
Note: See TracChangeset for help on using the changeset viewer.