public void Run() { // Client initialization config = new NetPeerConfiguration("stryferpg"); client = new NetClient(config); client.Start(); client.Connect("localhost", 1234); handler = new LoginMessageHandler(); // Messages receipt NetIncomingMessage message; while (!stop) { while ((message = client.ReadMessage()) != null) { switch (message.MessageType) { case NetIncomingMessageType.Data: SROrderMessage msg = NetworkSerializer.DeserializeObject <SROrderMessage>(message.ReadBytes(message.LengthBytes)); handler.Handle(msg); break; case NetIncomingMessageType.StatusChanged: switch (message.SenderConnection.Status) { case NetConnectionStatus.Connected: Console.WriteLine("Connected"); Console.WriteLine("Asking for server list..."); SRActionMessage action = new SRActionMessage(ActionType.GetServerList, ServiceType.Login); SendMessage(action); break; } break; case NetIncomingMessageType.DebugMessage: Console.WriteLine(message.ReadString()); break; default: Console.WriteLine("unhandled message with type: " + message.MessageType); break; } } Thread.Sleep(1); } }
public void Run() { // Server initialization config = new NetPeerConfiguration("stryferpg"); config.Port = 1234; server = new NetServer(config); server.Start(); //TODO: services initialization // Messages receipt bool stop = false; NetIncomingMessage message; while (!stop) { while ((message = server.ReadMessage()) != null) { switch (message.MessageType) { case NetIncomingMessageType.Data: SRActionMessage action = NetworkSerializer.DeserializeObject <SRActionMessage>(message.ReadBytes(message.LengthBytes)); switch (action.serviceType) { case ServiceType.Login: LoginService.Instance.Handle(action, message.SenderConnection); break; case ServiceType.Char: break; case ServiceType.Map: MapService.Instance.Handle(action, message.SenderConnection); break; } break; case NetIncomingMessageType.StatusChanged: Console.WriteLine("StatusChanged"); switch (message.SenderConnection.Status) { case NetConnectionStatus.Connected: Console.WriteLine("Connected"); break; } break; case NetIncomingMessageType.DebugMessage: Console.WriteLine(message.ReadString()); break; default: Console.WriteLine("unhandled message with type: " + message.MessageType); break; } } //stop = Console.ReadKey().Key == ConsoleKey.S; Thread.Sleep(1); } }