static void Main(string[] args) { net = new NetClient.NetManager(); net.InfoHandler = (txt) => { Console.WriteLine(txt); }; net.JoinHandler = () => { Console.WriteLine("서버입장"); }; net.LeaveHandler = () => { Console.WriteLine("서버퇴장"); }; net.JoinFailedHandler = () => { Console.WriteLine("서버에 접속실패"); }; net.InternalHandler = (txt) => { Console.WriteLine("내부오류발생: {0}", txt); }; // 비동기 방식으로 명령어를 입력받습니다 var ret = ReadLineAsync(); // 프로그램 반복 실행을 위해... bool run_program = true; Console.WriteLine("프로그램 시작: /c 접속 /q 해제 /exit 종료"); while (run_program) { if (ret.IsCompleted) { switch (ret.Result) { case "/c": Console.WriteLine("접속 시도"); net.Connect("127.0.0.1", 29999); break; case "/q": Console.WriteLine("접속 해제 시도"); net.Disconnect(); break; case "/exit": // 콘솔 프로그램을 종료합니다 run_program = false; break; default: { // 보낸 패킷을 그대로 받아서 화면에 출력하는 부분 net.stub.Chat9 = (ZNet.RemoteID remote, ZNet.CPackOption pkOption, string txt, int a, byte b, short rr) => { Console.WriteLine(string.Format("recved: string={0} int={1} byte={2} short={3}", txt, a, b, rr)); return(true); }; // 추가 정의한 패킷을 서버로 보내기 (콘솔창에 입력한 내용과 추가 파라미터 보내기) net.proxy.Chat9(ZNet.RemoteID.Remote_Server, ZNet.CPackOption.Basic, ret.Result, 12345, 1, 321); } break; } if (run_program) { ret = ReadLineAsync(); } } net.Update(); System.Threading.Thread.Sleep(1); } net.Destroy(); System.Threading.Thread.Sleep(1000 * 2); }
static void Main(string[] args) { net = new NetClient.NetManager(); net.InfoHandler = (txt) => { Console.WriteLine(txt); }; net.JoinHandler = () => { Console.WriteLine("서버입장"); }; net.LeaveHandler = () => { Console.WriteLine("서버퇴장"); }; net.JoinFailedHandler = () => { Console.WriteLine("서버에 접속실패"); }; net.InternalHandler = (txt) => { Console.WriteLine("내부오류발생: {0}", txt); }; // 비동기 방식으로 명령어를 입력받습니다 var ret = ReadLineAsync(); // 프로그램 반복 실행을 위해... bool run_program = true; Console.WriteLine("프로그램 시작: /c 접속 /q 해제 /exit 종료"); while (run_program) { if (ret.IsCompleted) { switch (ret.Result) { case "/c": Console.WriteLine("접속 시도"); net.Connect("127.0.0.1", 29999); break; case "/q": Console.WriteLine("접속 해제 시도"); net.Disconnect(); break; case "/exit": // 콘솔 프로그램을 종료합니다 run_program = false; break; default: break; } if (run_program) { ret = ReadLineAsync(); } } net.Update(); System.Threading.Thread.Sleep(1); } net.Destroy(); System.Threading.Thread.Sleep(1000 * 2); }