Пример #1
0
    public void imethod_3(P2PAddress p2PAddress_0)
    {
        bool             isPublic = p2PAddress_0.PrivateIP != p2PAddress_0.PublicIP;
        P2PLogonContract body     = new P2PLogonContract(p2PAddress_0, isPublic);

        this.interface31_0.Send(this.interface9_0.imethod_4 <P2PLogonContract>(this.string_0, this.p2PSessionMessageTypeRoom_0.P2PLogon, body, "_0"), false, ActionTypeOnChannelIsBusy.Continue);
    }
Пример #2
0
    public IMessageHandler ProcessMessage(IMessageHandler interface37_0)
    {
        IHeader interface2;

        if (interface37_0.Header.MessageType == this.object_0.P2PLogon)
        {
            P2PLogonContract contract2 = this.interface9_0.imethod_1 <P2PLogonContract>(interface37_0);
            this.iuserManager_0.SetP2PAddress(interface37_0.Header.UserID, contract2.P2PAddress_0);
            return(null);
        }
        if (interface37_0.Header.MessageType == this.object_0.ReqUserData)
        {
            ReqUserDataContract contract = this.interface9_0.imethod_1 <ReqUserDataContract>(interface37_0);
            UserData            userData = this.ginterface8_0.GetUserData(contract.FriendID);
            interface2 = this.interface9_0.imethod_7(interface37_0.Header);
            return(this.interface9_0.imethod_2 <ResUserDataContract>(interface2, (userData == null) ? null : new ResUserDataContract(contract.FriendID, userData.P2PAddress_0)));
        }
        if (interface37_0.Header.MessageType == this.object_0.InviteTcpP2P)
        {
            this.interface40_0.PostMessage(interface37_0, interface37_0.Header.DestUserID, ActionTypeOnChannelIsBusy.Continue);
            return(null);
        }
        if (interface37_0.Header.MessageType == this.object_0.GetMyPublicIPE)
        {
            interface2 = this.interface9_0.imethod_7(interface37_0.Header);
            IPEndPoint userAddress = this.iuserManager_0.GetUserAddress(interface37_0.Header.UserID);
            string     str         = userAddress.ToString();
            string     str2        = userAddress.Address.ToString();
            if (!str.StartsWith(str2))
            {
                string msg = string.Format("IP地址怪异。UserID:[{0}],IPEndPoint:[{1}],IPAddres:[{2}]", interface37_0.Header.UserID, str, str2);
                this.emptyAgileLogger_0.LogWithTime(msg);
            }
            return(this.interface9_0.imethod_2 <PublicIPEResponseContract>(interface2, new PublicIPEResponseContract(str2.Trim(), userAddress.Port)));
        }
        if (interface37_0.Header.MessageType == this.object_0.Help4UDP_FeedbackVacancy)
        {
            this.interface40_0.PostMessage(interface37_0, interface37_0.Header.DestUserID, ActionTypeOnChannelIsBusy.Continue);
            return(null);
        }
        if (interface37_0.Header.MessageType == this.object_0.Help4UDP_SynAck)
        {
            this.interface40_0.PostMessage(interface37_0, interface37_0.Header.DestUserID, ActionTypeOnChannelIsBusy.Continue);
            return(null);
        }
        if (interface37_0.Header.MessageType == this.object_0.Help4UDP_Exit)
        {
            this.interface40_0.PostMessage(interface37_0, interface37_0.Header.DestUserID, ActionTypeOnChannelIsBusy.Continue);
            return(null);
        }
        if (interface37_0.Header.MessageType == this.object_0.Help4UDP_PMTUTestAck)
        {
            this.interface40_0.PostMessage(interface37_0, interface37_0.Header.DestUserID, ActionTypeOnChannelIsBusy.Continue);
            return(null);
        }
        return(null);
    }