static void Main(string[] args) { SlimCommon.Log.Default.Logger = new SlimCommon.ConsoleLogger(); var server = new SlimIOCP.Mono.Server(); server.Start(new IPEndPoint(IPAddress.Parse("192.168.0.10"), 14000)); SlimIOCP.Mono.IncomingMessage message; SlimIOCP.Mono.OutgoingMessage outgoingMessage; while (true) { while (server.TryPopMessage(out message)) { switch (message.MessageType) { case MessageType.Data: var connection = (SlimIOCP.Mono.Connection)message.Connection; if (!connection.TryCreateMessage(out outgoingMessage)) { throw new Exception(); } var val = BitConverter.ToInt32(message.Buffer, message.Offset); Console.WriteLine("length : " + message.Length); Console.WriteLine("got " + val + " from client"); if (!outgoingMessage.TryWrite(message.Buffer, message.Offset, message.Length)) { throw new Exception(); } if (!outgoingMessage.TryQueue()) { throw new Exception(); } server.TryRecycleMessage(message); break; case MessageType.Connected: Console.WriteLine("Client connected"); break; } } server.ReceivedMessageEvent.WaitOne(); } }