예제 #1
0
 public bool EstablishConnection(string ip, byte[] verificationCode)
 {
     try {
         var  ns  = Networkf.NetworkHelper.StartClient(ip);
         var  nsi = new NSInitializer(ns);
         bool ret = nsi.ClientInit(verificationCode, _connection);
         if (!ret)
         {
             ns.TeardownService();
         }
         return(ret);
     } catch (Exception e) {
         Logger.WriteLine(e.Message);
         return(false);
     }
 }
예제 #2
0
        static void OnConnectionEstablished(NetworkService service)
        {
            var initializer = new NSInitializer(service);

            byte[] code = initializer.ServerRequireClientVerify();
            if (code != null)
            {
                if (code.SequenceEqual(dmVerificationCode))
                {
                    if (dmConnection.HasAppliedService())
                    {
                        initializer.ServerApplyConnection(null);
                    }
                    else
                    {
                        initializer.ServerApplyConnection(dmConnection);
                    }
                }
                else if (code.SequenceEqual(player1VerificationCode))
                {
                    if (player1Connection.HasAppliedService())
                    {
                        initializer.ServerApplyConnection(null);
                    }
                    else
                    {
                        initializer.ServerApplyConnection(player1Connection);
                    }
                }
                else if (code.SequenceEqual(player2VerificationCode))
                {
                    if (player2Connection.HasAppliedService())
                    {
                        initializer.ServerApplyConnection(null);
                    }
                    else
                    {
                        initializer.ServerApplyConnection(player2Connection);
                    }
                }
                else
                {
                    initializer.ServerApplyConnection(null);
                }
            }
        }
예제 #3
0
        static void Main()
        {
            connection.EventCaught += Connection_EventCaught;

            string id;

            byte[] verificationCode = { };
            var    dialogResult     = MessageBox.Show("DM(Yes) or Player(No)?", "Choose", MessageBoxButtons.YesNo);

            if (dialogResult == DialogResult.Yes)
            {
                verificationCode = new byte[] { 0x00, 0x10, 0x20, 0xAB };
                isDM             = true;
                id = "DM";
            }
            else
            {
                var dialogResult2 = MessageBox.Show("Player1(Yes) or Player2(No)?", "Choose", MessageBoxButtons.YesNo);
                if (dialogResult2 == DialogResult.Yes)
                {
                    verificationCode = new byte[] { 0x00, 0x10, 0x20, 0x3B };
                    id = "Player1";
                }
                else
                {
                    verificationCode = new byte[] { 0x00, 0x10, 0x20, 0xC5 };
                    id = "Player2";
                }
            }

            var service     = NetworkHelper.StartClient("127.0.0.1");
            var initializer = new NSInitializer(service);

            if (!initializer.ClientInit(verificationCode, connection))
            {
                MessageBox.Show("登陆失败", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                service.TeardownService();
                return;
            }

            var getAllSkillTypesRequest = new GetSkillTypeListMessage();

            connection.Request(getAllSkillTypesRequest, result => {
                var resp = result as SkillTypeListDataMessage;
                if (resp != null)
                {
                    foreach (var skillType in resp.skillTypes)
                    {
                        skillTypes.Add(new CharacterPropertyInfo()
                        {
                            name       = skillType.name,
                            propertyID = skillType.id
                        });
                    }
                }
            });

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            mainForm       = new MainForm(isDM);
            mainForm.Text += id;
            mainForm.battleSceneForm.Text += id;
            Application.Run(mainForm);
        }