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); } }
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); } } }
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); }