Beispiel #1
0
    public static void Send(int hostId, int connectionId, int channelId, MessageBase message, short messageType)
    {
        NetworkWriter writer = new NetworkWriter();

        writer.StartMessage(messageType);
        message.Serialize(writer);
        writer.FinishMessage();
        byte[] writerData   = writer.ToArray();
        int    bufferLength = P2PController.bufferLength;

        bufferLength = writerData.Length;
        //Debug.Log("Send packet with size: " + bufferLength);

        NetworkTransport.Send(hostId, connectionId, channelId, writerData, bufferLength, out P2PController.error);
        P2PController.CheckError("Send");


        if (Recorder.session != null)
        {
            Recorder.session.messagesSent++;
            Recorder.session.AddLeavingBandwidth(bufferLength);
            if (channelId == P2PChannels.ReliableChannelId)
            {
                Recorder.session.importantMessagesSent++;
            }
        }
    }
    public void UpdateField()
    {
        int port = 0;

        P2PController c = GameObject.FindObjectOfType <P2PController>();

        if (c != null && Int32.TryParse(GetComponent <InputField>().text, out port))
        {
            c.SetTargetPort(port);
        }
    }
Beispiel #3
0
    void Start()
    {
        gameController = GameObject.FindObjectOfType <GameController>();
        p2PController  = GameObject.FindObjectOfType <P2PController>();
        stateText      = GameObject.FindGameObjectWithTag("State").GetComponent <Text>();

        Text statusText = GameObject.FindGameObjectWithTag("Status").GetComponent <Text>();

        statusText.text = "Port: " + myPort;

        IniTargetPorts();

        currentState = new RunStateIdle();
    }
Beispiel #4
0
    public void UpdateField()
    {
        P2PController c = GameObject.FindObjectOfType <P2PController>();

        if (c != null)
        {
            c.SetTargetIp(GetComponent <InputField>().text);
        }

        MyNetworkManager m = GameObject.FindObjectOfType <MyNetworkManager>();

        if (m != null)
        {
            m.targetIp = GetComponent <InputField>().text;
        }
    }
Beispiel #5
0
    public void UpdateField()
    {
        int port = 0;

        P2PController c = GameObject.FindObjectOfType <P2PController>();

        if (c != null && Int32.TryParse(GetComponent <InputField>().text, out port))
        {
            c.SetMyPort(port);
        }

        MyNetworkManager m = GameObject.FindObjectOfType <MyNetworkManager>();

        if (m != null && Int32.TryParse(GetComponent <InputField>().text, out port))
        {
            m.networkPort = port;
        }
    }
Beispiel #6
0
    public void Init(string agentID, string parentAgentID)
    {
        AgentMetadata = new AgentMetadata
        {
            AgentID       = agentID,
            ParentAgentID = parentAgentID,
            Hostname      = Helpers.GetHostname,
            IPAddress     = Helpers.GetIpAddress,
            Integrity     = Helpers.GetIntegrity,
            Identity      = Helpers.GetIdentity,
            ProcessName   = Helpers.GetProcessName,
            ProcessID     = Helpers.GetProcessId,
            Arch          = Helpers.GetArch,
            CLR           = Helpers.GetCLRVersion
        };

        P2P = new P2PController(this);
    }
Beispiel #7
0
    public static void OnJoinAnswer(int hostId, int connectionId, JoinAnswerMessage message)
    {
        if (p2PController.GameStarted() || JoinAnswerReceived)
        {
            return;
        }

        Debug.Log("JoinAnswer received, lane: " + message.lane + ", playersCount: " + message.successfulConnections.Count);
        if (!(message.lane >= 0 && message.lane < 4))
        {
            Debug.Log("Game is full");
            p2PController.myLane = -1;
            p2PController.DisplayError("Game is full");
            return;
        }
        else
        {
            Debug.Log("allowed to join the game! Now need to connect to all players");
            JoinAnswerReceived = true;

            p2PController.myLane = message.lane;

            P2PController.gameColor = new Color(message.r / 255.0f, message.g / 255.0f, message.b / 255.0f);
            GameObject.FindObjectOfType <UIController>().UpdateGameColor(P2PController.gameColor);

            foreach (P2PConnection connection in message.successfulConnections)
            {
                connections.Add(connection);
                NetworkTransport.Connect(myHostId, connection.ip, connection.port, 0, out P2PController.error);
                P2PController.CheckError("Connect");
            }

            P2PConnectionManager.GetConnection(hostId, connectionId).SuccessfullyConnect();

            CheckConnectionsStatus();
        }
    }
Beispiel #8
0
    public void UpdateField()
    {
        P2PController c = GameObject.FindObjectOfType <P2PController>();

        c.SetMyPort(Int32.Parse(GetComponent <InputField>().text));
    }
Beispiel #9
0
 public void Disconnect()
 {
     NetworkTransport.Disconnect(hostId, connectionId, out P2PController.error);
     P2PController.CheckError("Disconnect");
 }
Beispiel #10
0
    public LogonResponse Initialize(string userID, string logonPassword, string serverIP, int serverPort, ICustomizeHandler customizeHandler)
    {
        if (this.emptyAgileLogger_0 == null)
        {
            if (this.string_1 == null)
            {
                this.emptyAgileLogger_0 = new EmptyAgileLogger();
            }
            else
            {
                FileAgileLogger logger = new FileAgileLogger(this.string_1)
                {
                    MaxLength4ChangeFile = 0x100000L
                };
                this.emptyAgileLogger_0 = (EmptyAgileLogger)logger;
            }
        }
        this.eventSafeTrigger_0.AgileLogger = this.emptyAgileLogger_0;
        this.string_0 = logonPassword;
        Class16 class2 = new Class16();
        MessageForbiddenHandler class3 = new MessageForbiddenHandler();

        this.object_0 = Class157.CreateInterface26((Enum6)0);
        int num = (!this.advancedOptions_0.CheckResponseTTL4Query || !this.bool_4) ? 10 : 0;

        this.class72_0 = new Class72(num, this.int_1);
        this.class72_0.SetEngine((IEngine)this.object_0);
        Interface36          interface2 = new Class94((ICommitMessageToServer)this.object_0, class3, null);
        Class79              class4     = new Class79(this.class72_0, interface2);
        BasicMessageTypeRoom room       = new BasicMessageTypeRoom();

        room.Initialize();
        CustomizeMessageTypeRoom room2 = new CustomizeMessageTypeRoom();

        room2.Initialize();
        FileMessageTypeRoom room3 = new FileMessageTypeRoom();

        room3.Initialize();
        P2PSessionMessageTypeRoom room4 = new P2PSessionMessageTypeRoom();

        room4.Initialize();
        FriendsMessageTypeRoom room5 = new FriendsMessageTypeRoom();

        room5.Initialize();
        GroupMessageTypeRoom room6 = new GroupMessageTypeRoom();

        room6.Initialize();
        ContactsMessageTypeRoom room7 = new ContactsMessageTypeRoom();

        room7.Initialize();
        this.class113_0 = new BasicOutter();
        this.class113_0.SetBasicMessageTypeRoom(room);
        this.class113_0.SetActionType(class4);
        this.class113_0.SetStreamContract(class2);
        this.class113_0.SetICommitMessageToServer((ICommitMessageToServer)this.object_0);
        this.class113_0.NgadStsqsh += new CbGeneric(this.method_1);
        this.class113_0.method_2(userID);
        this.class71_0 = new Class71(this.class113_0, this.bool_4 ? 0 : this.int_0);
        Class78 class9 = new Class78();

        class9.method_5(this.class113_0);
        class9.method_1(room);
        class9.method_2(class2);
        class9.method_4((ICommitMessageToServer)this.object_0);
        class9.method_3(class4);
        this.class43_0 = new Class43();
        this.class43_0.method_5(class4);
        this.class43_0.method_4(class2);
        this.class43_0.method_3(room2);
        this.class43_0.method_1(userID);
        CustomizeProcess class10 = new CustomizeProcess();

        class10.SetStreamContractHelper(class2);
        class10.SetCustomizeHandler(customizeHandler);
        class10.SetCustomizeMessageTypeRoom(room2);
        class10.SetActionType(class4);
        class10.Event_0 += new CbGeneric <string, int, byte[], string>(this.OnMessageReceived);
        Class75 class7 = new Class75(class4, class2, room4);

        class7.method_1(userID);
        Class24 class8 = new Class24();

        class8.method_0(room4);
        class8.method_1(class2);
        class8.DaTyrcXefU(class7);
        this.class2_0 = new FileTransfering();
        this.class2_0.method_0(this.emptyAgileLogger_0);
        this.class13_0 = new FileHandler();
        this.class13_0.method_0(this.emptyAgileLogger_0);
        this.class2_0.TTL4ResumedFileItem = this.advancedOptions_0.TempFile4ResumedTTL;
        this.class13_0.method_1(class4);
        this.class13_0.method_3(class2);
        this.class13_0.imethod_1(0x100000);
        this.class13_0.method_7(this.advancedOptions_0.UseWorkThreadPool);
        this.class13_0.Initialize(userID, room3.FilePackageData);
        this.class28_0 = new Class28();
        this.class28_0.method_2(this.advancedOptions_0.CheckFileZeroSpeedSpanInSecs);
        this.class28_0.method_0(this.emptyAgileLogger_0);
        this.class28_0.method_13(room3);
        this.class28_0.method_14(class2);
        this.class28_0.method_16(class4);
        this.class28_0.method_12(this.class2_0);
        this.class28_0.method_11(this.class13_0);
        this.class28_0.Initialize(userID);
        Class70 class11 = new Class70();

        class11.method_0(room3);
        class11.method_1(class2);
        class11.method_3(this.class13_0);
        class11.method_2(this.class2_0);
        class11.method_4(this.class28_0);
        this.class126_0 = new FriendsOutter();
        this.class126_0.method_4(class4);
        this.class126_0.method_3(class2);
        this.class126_0.method_2(room5);
        this.class126_0.FriendOffline += new CbGeneric <string>(this.method_6);
        this.class126_0.method_1(userID);
        Class59 class12 = new Class59();

        class12.method_2(class2);
        class12.method_3(this.class126_0);
        class12.method_1(room5);
        this.class19_0 = new GroupOutter2();
        this.class19_0.method_0(class4);
        this.class19_0.uBkeyEkxPJ(class2);
        this.class19_0.Iibebiqvn1(room6);
        this.class19_0.SetCommitMessageToServer((ICommitMessageToServer)this.object_0);
        this.class19_0.GroupmateOffline += new CbGeneric <string>(this.method_7);
        this.class19_0.method_4(userID);
        Class140 class13 = new Class140();

        class13.method_0(room6);
        class13.method_2(this.class19_0);
        class13.method_1(class2);
        this.ContactsOutter_0 = new ContactsOutter();
        this.ContactsOutter_0.method_2(class4);
        this.ContactsOutter_0.SetStreamContract(class2);
        this.ContactsOutter_0.SetMessageType(room7);
        this.ContactsOutter_0.SetCommitMessageToServer((ICommitMessageToServer)this.object_0);
        this.ContactsOutter_0.ContactsOffline += new CbGeneric <string>(this.method_8);
        this.ContactsOutter_0.method_5(userID);
        Class20 class14 = new Class20();

        class14.SetMessageType(room7);
        class14.SetOutter(this.ContactsOutter_0);
        class14.SetStreamContract(class2);
        IProcess[] processers = new IProcess[] { class9, class10, class8, class11, class12, class13, class14 };
        this.class141_0 = new Class141(processers, this.class72_0);
        this.class141_0.method_6(this.advancedOptions_0.AsynMessageQueueEnabled && !this.bool_4);
        this.class141_0.method_7(class4);
        this.class141_0.method_4(this.emptyAgileLogger_0);
        this.class141_0.method_8();
        new Class40(new IMessageTypeRoom[] { room, room2, room3, room4, room5, room6, room7 }, this.class141_0).method_2();
        MessageDispatcher class6 = new MessageDispatcher(new Class144(new Class115(this.class141_0)), class3);

        class6.imethod_0(this.emptyAgileLogger_0);
        this.object_0.SetAgileLogger(this.emptyAgileLogger_0);
        this.object_0.Sock5ProxyInfo = this.sock5ProxyInfo_0;
        this.object_0.SetAgileIPE(new AgileIPE(serverIP, serverPort));
        this.object_0.SetStreamContract(class2);
        this.object_0.imethod_12(class6);
        this.object_0.imethod_10(GlobalUtil.MaxLengthOfMessage);
        this.object_0.AutoReconnect = false;
        this.object_0.imethod_23((this.advancedOptions_0.WriteTimeoutInSecs <= 0) ? -1 : (this.advancedOptions_0.WriteTimeoutInSecs * 0x3e8));
        this.object_0.SocketSendBuffSize           = this.advancedOptions_0.SocketSendBuffSize;
        this.object_0.UncompletedSendingCount4Busy = this.advancedOptions_0.UncompletedSendingCount4Busy;
        this.object_0.ConnectionInterrupted       += new CbGeneric(this.method_5);
        this.object_0.imethod_25(new CbGeneric(this.method_4));
        this.object_0.ConnectionRebuildStart += new CbGeneric(this.method_2);
        this.object_0.Initialize();
        LogonFullResponse response = this.class113_0.method_7(this.systemToken, this.string_0);

        if (response.LogonResult != LogonResult.Succeed)
        {
            this.object_0.OnDispose();
            return(response);
        }
        this.object_0.imethod_27();
        this.bool_0 = response.Boolean_0;
        this.bool_3 = response.GroupRelationEnabled;
        if ((this.bool_0 && this.advancedOptions_0.Boolean_0) && !this.bool_4)
        {
            if (response.UseAsP2PServer && (this.agileIPE_0 == null))
            {
                this.agileIPE_0 = new AgileIPE(this.object_0.GetAgileIPE().String_0, this.object_0.GetAgileIPE().Port + 1);
            }
            if (this.agileIPE_0 != null)
            {
                this.class58_0 = new P2PController();
                this.class58_0.method_6(this.agileIPE_0);
                this.class58_0.method_5(this.emptyAgileLogger_0);
                this.class58_0.method_3((Interface26)this.object_0);
                this.class58_0.method_2(class7);
                this.class58_0.method_4(room4);
                this.class58_0.P2PChannelClosed += new CbGeneric <P2PChannelState>(this.method_3);
                this.class58_0.method_7(userID, this.bool_2);
                interface2.imethod_2(this.class58_0);
                class8.method_2(this.class58_0);
                this.class13_0.method_4(new Class56(this.class58_0));
                this.class19_0.method_1(this.class58_0);
            }
        }
        if (this.bool_2)
        {
            this.class108_0 = new TcpPassiveEngine((Interface26)this.object_0, this.class113_0, this.emptyAgileLogger_0);
            this.class108_0.method_3();
        }
        this.class71_0.method_0();
        this.class113_0.SendHeartBeatMessage();
        this.string_3 = userID;
        this.bool_1   = true;
        this.object_0.AutoReconnect = this.bool_5;
        return(response);
    }
Beispiel #11
0
    public void UpdateField()
    {
        P2PController c = GameObject.FindObjectOfType <P2PController>();

        c.SetTargetIp(GetComponent <InputField>().text);
    }
Beispiel #12
0
 internal void method_2(P2PController class58_0)
 {
     this.FdkyIcOiQh = class58_0.method_0();
     this.class42_0  = class58_0.method_1();
 }
Beispiel #13
0
    public void Click()
    {
        P2PController c = FindObjectOfType <P2PController>();

        c.NewGame();
    }