static void Main(string[] args) { CClient Client = new CClient(); Client.m_Core.Connect("127.0.0.1", 20000, 0); Console.Write("> "); var ret = ReadLineAsync(); bool run_program = true; while (run_program) { if (ret.IsCompleted) { switch (ret.Result) { case "/q": Client.m_Core.Leave(); break; case "/exit": run_program = false; break; case "/h": Console.WriteLine("/Cmd: h(Help) q(Quit) exit(ProgramExit)"); break; default: // 보낼 패킷 데이터 준비 RemoteClass.CUserClass _testClass = new RemoteClass.CUserClass(); Dictionary <Int32, Int32> _testDic = new Dictionary <Int32, Int32>(); _testDic.Add(1212345, 1230); // 패킷 보내고 Client.proxy.request_Echo(ZNet.RemoteID.Remote_Server, ZNet.CPackOption.Encrypt, _testClass, _testDic, ret.Result); // 패킷 받을때 처리 Client.stub.reponse_Echo = (ZNet.RemoteID remote, ZNet.CPackOption pkOption, RemoteClass.CUserClass testClass, Dictionary <Int32, Int32> dic_test, string msg) => { Console.WriteLine(string.Format("recv : {0}", msg)); return(true); }; break; } if (run_program) { ret = ReadLineAsync(); } } Client.m_Core.NetLoop(); System.Threading.Thread.Sleep(1); } Client.m_Core.Destroy(); System.Threading.Thread.Sleep(1000 * 2); }
public bool reponse_Echo(ZNet.RemoteID[] remotes, ZNet.CPackOption pkOption, RemoteClass.CUserClass testClass, Dictionary <Int32, Int32> dic_test, string msg) { foreach (var obj in remotes) { reponse_Echo(obj, pkOption, testClass, dic_test, msg); } return(true); }
static void Main(string[] args) { CClient Client = new CClient(); Client.m_Core.Connect("127.0.0.1", 20000, 0); Console.Write("> "); var ret = ReadLineAsync(); bool run_program = true; while (run_program) { if (ret.IsCompleted) { switch (ret.Result) { case "/q": Client.m_Core.Leave(); break; case "/exit": run_program = false; break; case "/h": Console.WriteLine("/Cmd: h(Help) q(Quit) exit(ProgramExit)"); break; default: // 보낼 패킷 데이터 준비 RemoteClass.CUserClass _testClass = new RemoteClass.CUserClass(); Dictionary<Int32, Int32> _testDic = new Dictionary<Int32, Int32>(); _testDic.Add(1212345, 1230); // 패킷 보내고 Client.proxy.request_Echo(ZNet.RemoteID.Remote_Server, ZNet.CPackOption.Encrypt, _testClass, _testDic, ret.Result); // 패킷 받을때 처리 Client.stub.reponse_Echo = (ZNet.RemoteID remote, ZNet.CPackOption pkOption, RemoteClass.CUserClass testClass, Dictionary<Int32, Int32> dic_test, string msg) => { Console.WriteLine(string.Format("recv : {0}", msg)); return true; }; break; } if (run_program) ret = ReadLineAsync(); } Client.m_Core.NetLoop(); System.Threading.Thread.Sleep(1); } Client.m_Core.Destroy(); System.Threading.Thread.Sleep(1000 * 2); }
public bool reponse_Echo(ZNet.RemoteID remote, ZNet.CPackOption pkOption, RemoteClass.CUserClass testClass, Dictionary <Int32, Int32> dic_test, string msg) { ZNet.CMessage Msg = new ZNet.CMessage(); ZNet.PacketType msgID = (ZNet.PacketType)Common.reponse_Echo; Msg.WriteStart(msgID, pkOption, 0, true); RemoteClass.Marshaler.Write(Msg, testClass); RemoteClass.Marshaler.Write(Msg, dic_test); RemoteClass.Marshaler.Write(Msg, msg); return(PacketSend(remote, pkOption, Msg)); }
static void Main(string[] args) { CClient Client = new CClient(); Client.m_Core.Connect( "127.0.0.1", 20000, 0, // protocol version 55, // udp recve port : if 0 = disable false, // mobile optimize option true //false // enable auto connection recovery mode ); Console.Write("> "); var ret = ReadLineAsync(); bool run_program = true; while (run_program) { if (ret.IsCompleted) { switch (ret.Result) { case "/q": // leave from server Client.m_Core.Leave(); break; case "/c": Console.WriteLine("reconnect try..."); if (Client.m_Core.ReConnect() == false) { Console.WriteLine("reconnect fail. check connection not disconnect or recovery mode"); } break; case "/exit": run_program = false; break; case "/h": DisplayHelpCommand(); break; case "/f": Client.m_Core.FastRecovery(); // 즉시 연결복구 처리하기 break; case "/k": Client.m_Core.ForceLeave(); // 일방적인 서버와의 연결종료 break; default: // packet send test RemoteClass.CUserClass _testClass = new RemoteClass.CUserClass(); Dictionary <Int32, Int32> _testDic = new Dictionary <Int32, Int32>(); _testDic.Add(1212345, 1230); Client.proxy.request_message(ZNet.RemoteID.Remote_Server, ZNet.CPackOption.Encrypt, _testClass, _testDic, ret.Result); Client.stub.reponse_message = (ZNet.RemoteID remote, ZNet.CPackOption pkOption, RemoteClass.CUserClass testClass, Dictionary <Int32, Int32> dic_test, string msg) => { Console.WriteLine(string.Format("recv : {0}", msg)); return(true); }; break; } if (run_program) { ret = ReadLineAsync(); } } Client.m_Core.NetLoop(); System.Threading.Thread.Sleep(1); } Client.m_Core.Destroy(); System.Threading.Thread.Sleep(1000 * 2); }
static void Main(string[] args) { CClient Client = new CClient(); Client.m_Core.Connect( "127.0.0.1", 20000, 0, // protocol version 55, // udp recve port : if 0 = disable false, // mobile optimize option true//false // enable auto connection recovery mode ); Console.Write("> "); var ret = ReadLineAsync(); bool run_program = true; while (run_program) { if (ret.IsCompleted) { switch (ret.Result) { case "/q": // leave from server Client.m_Core.Leave(); break; case "/c": Console.WriteLine("reconnect try..."); if (Client.m_Core.ReConnect() == false) { Console.WriteLine("reconnect fail. check connection not disconnect or recovery mode"); } break; case "/exit": run_program = false; break; case "/h": DisplayHelpCommand(); break; case "/f": Client.m_Core.FastRecovery(); // 즉시 연결복구 처리하기 break; case "/k": Client.m_Core.ForceLeave(); // 일방적인 서버와의 연결종료 break; default: // packet send test RemoteClass.CUserClass _testClass = new RemoteClass.CUserClass(); Dictionary<Int32, Int32> _testDic = new Dictionary<Int32, Int32>(); _testDic.Add(1212345, 1230); Client.proxy.request_message(ZNet.RemoteID.Remote_Server, ZNet.CPackOption.Encrypt, _testClass, _testDic, ret.Result); Client.stub.reponse_message = (ZNet.RemoteID remote, ZNet.CPackOption pkOption, RemoteClass.CUserClass testClass, Dictionary<Int32, Int32> dic_test, string msg) => { Console.WriteLine(string.Format("recv : {0}", msg)); return true; }; break; } if (run_program) ret = ReadLineAsync(); } Client.m_Core.NetLoop(); System.Threading.Thread.Sleep(1); } Client.m_Core.Destroy(); System.Threading.Thread.Sleep(1000 * 2); }
static void Main(string[] args) { CClient Client = new CClient(); Client.m_Core.Connect(ServerP2P_Common.Join.ipaddr, ServerP2P_Common.Join.portnum, ServerP2P_Common.Join.protocol_ver); DisplayHelpCommand(); var ret = ReadLineAsync(); bool run_program = true; while (run_program) { if (ret.IsCompleted) { switch (ret.Result) { case "/q": Client.m_Core.Leave(); break; case "/exit": run_program = false; break; case "/h": DisplayHelpCommand(); break; // 자동으로 서버이동 처리하기 : 요청 즉시 자동으로 해당타입의 서버로 이동(자동 로드벨런싱 처리) case "/maina": Client.m_Core.MoveToServer((int)ServerP2P_Common.Server.Main); break; // 자동으로 서버이동 처리하기 : 요청 즉시 자동으로 해당타입의 서버로 이동(자동 로드벨런싱 처리) case "/logina": Client.m_Core.MoveToServer((int)ServerP2P_Common.Server.Login); break; // 반자동으로 서버이동 처리하기 : 서버이동 과정에 부가적인 처리할 내용이 있을경우 case "/main": Client.proxy.request_move_to_server(ZNet.RemoteID.Remote_Server, ZNet.CPackOption.Basic, (int)ServerP2P_Common.Server.Main); break; // 반자동으로 서버이동 처리하기 : 서버이동 과정에 부가적인 처리할 내용이 있을경우 case "/login": Client.proxy.request_move_to_server(ZNet.RemoteID.Remote_Server, ZNet.CPackOption.Basic, (int)ServerP2P_Common.Server.Login); break; default: // packet send test RemoteClass.CUserClass _testClass = new RemoteClass.CUserClass(); Dictionary <Int32, Int32> _testDic = new Dictionary <Int32, Int32>(); _testDic.Add(1212345, 1230); Client.proxy.request_message(ZNet.RemoteID.Remote_Server, ZNet.CPackOption.Encrypt, _testClass, _testDic, ret.Result); Client.stub.reponse_message = (ZNet.RemoteID remote, ZNet.CPackOption pkOption, RemoteClass.CUserClass testClass, Dictionary <Int32, Int32> dic_test, string msg) => { Console.WriteLine(string.Format("recv : {0}", msg)); return(true); }; break; } if (run_program) { ret = ReadLineAsync(); } } Client.m_Core.NetLoop(); System.Threading.Thread.Sleep(1); } Client.m_Core.Destroy(); System.Threading.Thread.Sleep(1000 * 2); }