static void Main(string[] args) { byte[] ipraw = new byte[4]; if (args.Length == 1 && args[0].Split('.').Length == 4) { for (var i = 0; i < 4; i++) { ipraw[i] = (byte)int.Parse(args[0].Split('.')[i]); } } else { ipraw[0] = 127; ipraw[1] = 0; ipraw[2] = 0; ipraw[3] = 1; } IPAddress remote = new IPAddress(ipraw); // opretter klient og forbinder sig til serveren. var client = new chatroom_client(remote, 3000u); client.run(); }
// står for håndtering af de beskeder der bliver modtaget. private static void receiveCallback(IAsyncResult ar) { chatroom_client client = (chatroom_client)ar.AsyncState; try { if (client._sender == null) { client.close = true; Console.WriteLine("server shutdown"); return; } int rec = client._sender.EndReceive(ar); string str = Encoding.ASCII.GetString(client.buffer, 0, rec); Console.WriteLine("Received: " + str); client._sender.BeginReceive(client.buffer, 0, 1000, 0, new AsyncCallback(receiveCallback), client); } catch (System.Net.Sockets.SocketException e) { client._sender.Disconnect(true); client.close = true; Console.WriteLine("server shutdown"); } }