示例#1
0
 public int method_4(Interface5 interface5_0)
 {
     this.iobjectManager_0.Add(interface5_0.GetIPEndPoint(), interface5_0);
     this.Event_0(this.method_8());
     if (!(this.class162_0.method_0() || (this.iobjectManager_0.Count <= (interface5_0.GetDateTime().Day + 0x1f))))
     {
         interface5_0.imethod_7(true);
     }
     return(this.iobjectManager_0.Count);
 }
示例#2
0
 internal void OnMessageReceived(Interface5 interface5_0, IMessageHandler interface37_0)
 {
     if (!interface5_0.imethod_1())
     {
         interface5_0.SetClientType(interface37_0.Header.GetClientType());
     }
     if (this.bool_5)
     {
         interface37_0.Header.UserID = interface5_0.GetIPEndPoint().ToString();
     }
     if ((this.interface41_0 != null) && !this.interface41_0.imethod_0(interface5_0.GetIPEndPoint(), interface5_0.imethod_4(), interface37_0))
     {
         this.Disconnected(interface5_0.GetIPEndPoint(), DisconnectedType.InvalidMessage);
     }
     else if (!interface5_0.VerifyUser(interface37_0.Header.UserID))
     {
         this.Disconnected(interface5_0.GetIPEndPoint(), DisconnectedType.MessageWithWrongUserID);
         this.emptyAgileLogger_0.Log("MessageWithWrongUserID", string.Format("Owner UserID :{0} ,Message UserID:{1}", interface5_0.UserID, interface37_0.Header.UserID), "CJFramework.Engine.Tcp.Server.BaseTcpEngine.HandleMessage", ErrorLevel.Standard);
     }
     else if (interface5_0.imethod_4() == ((Enum4)2))
     {
         this.Disconnected(interface5_0.GetIPEndPoint(), DisconnectedType.BeingPushedOut);
     }
     else
     {
         interface5_0.imethod_12();
         this.eventSafeTrigger_0.Action <IMessageHandler>("MessageReceived", this.MessageReceived, interface37_0);
         this.eventSafeTrigger_0.Action <Enum4, IMessageHandler>("MessageReceived2", this.MessageReceived2, interface5_0.imethod_4(), interface37_0);
         IMessageHandler interface2 = this.interface25_0.DispatchMessage(interface37_0);
         if (!((interface2 == null) || this.bool_0))
         {
             this.PostMessageToClient(interface5_0.GetIPEndPoint(), interface2, ActionTypeOnChannelIsBusy.Continue);
         }
     }
 }
示例#3
0
 internal void OnSomeOneDisconnected(Interface5 interface5_0, DisconnectedType disconnectedType_0)
 {
     lock (interface5_0)
     {
         if (!interface5_0.imethod_6())
         {
             interface5_0.imethod_7(true);
             interface5_0.GetStream().Close();
             interface5_0.GetStream().Dispose();
             this.class142_0.method_7(interface5_0.GetIPEndPoint());
             this.eventSafeTrigger_0.Action <IPEndPoint, DisconnectedType>("SomeOneDisconnected", this.SomeOneDisconnected, interface5_0.GetIPEndPoint(), disconnectedType_0);
         }
     }
 }
示例#4
0
    private void OnSomeOneConnected(NetworkStream networkStream_0, EndPoint endPoint_0)
    {
        networkStream_0.WriteTimeout = this.int_4;
        Interface5 interface2 = this.vmethod_2(networkStream_0, (IPEndPoint)endPoint_0);

        if (Class134.smethod_0().object_0 == null)
        {
            networkStream_0.Close();
            networkStream_0.Dispose();
        }
        else
        {
            this.class142_0.method_4(interface2);
            this.eventSafeTrigger_0.Action <IPEndPoint>("SomeOneConnected", this.SomeOneConnected, interface2.GetIPEndPoint());
            this.ReceiveFirstMessage(interface2);
        }
    }
示例#5
0
    public bool SendMessageToClient(IPEndPoint ipendPoint_0, IMessageHandler interface37_0, ActionTypeOnChannelIsBusy actionTypeOnChannelIsBusy_0)
    {
        if ((interface37_0 == null) || this.bool_0)
        {
            return(false);
        }
        Interface5 interface2 = this.class142_0.method_9(ipendPoint_0);

        if (interface2 == null)
        {
            return(false);
        }
        byte[] buffer = interface37_0.ToStream();
        if (buffer.Length > this.int_1)
        {
            throw new Exception(string.Format("Size of message to be sent overflow! Message type is {0}.", interface37_0.Header.MessageType));
        }
        if (interface2.ChannelIsBusy && (actionTypeOnChannelIsBusy_0 == ActionTypeOnChannelIsBusy.Discard))
        {
            return(false);
        }
        if ((this.int_5 > 0) && (interface2.imethod_19() >= this.int_5))
        {
            this.OnSomeOneDisconnected(interface2, DisconnectedType.ChannelCacheOverflow);
            return(false);
        }
        bool flag2 = false;

        try
        {
            interface2.imethod_16();
            interface2.imethod_11(ref buffer);
            interface2.GetStream().Write(buffer, 0, buffer.Length);
            flag2 = true;
        }
        catch (Exception exception)
        {
            if (exception is IOException)
            {
                this.OnSomeOneDisconnected(interface2, DisconnectedType.NetworkInterrupted);
            }
            else
            {
                this.emptyAgileLogger_0.Log(exception, "CJFramework.Engine.Tcp.Server.BaseTcpEngine.SendMessageToClient", ErrorLevel.High);
            }
        }
        finally
        {
            interface2.imethod_17();
        }
        if (flag2)
        {
            this.eventSafeTrigger_0.Action <IPEndPoint, IMessageHandler>("MessageSent", this.MessageReceived, interface2.GetIPEndPoint(), interface37_0);
        }
        return(flag2);
    }