public void Listen() { while (true) { try { byte[] bytes = new Byte[1024]; int recBytes = client.Receive(bytes); // Blocking if (recBytes == 0) { break; // klienten stängd => 0 } var nettoBytes = (bytes.Take(recBytes)).ToArray <byte>(); string response = Encoding.UTF8.GetString(bytes, 0, recBytes); if (response == "x") { break; } SocketHelper.BroadCast(client, nettoBytes); // Console.Write(response); //Console.WriteLine("Skickar tid..."); //var time = DateTime.Now.ToLongTimeString(); //client.Send(Encoding.UTF8.GetBytes(time)); } catch { break; } } Console.WriteLine("Klienten stänger"); SocketHelper.connections.Remove(client); client.Close(); Console.WriteLine(SocketHelper.connections.Count + " klienter inloggade"); }
private void RecieveAndBroadCast(Socket client) { while (true) { try { byte[] bytes = new Byte[1024]; int recBytes = client.Receive(bytes); // Blocking //var player = _players.Single(x => x.Client.RemoteEndPoint == client.RemoteEndPoint); if (recBytes == 0) { //_players.Remove(player); SocketHelper.BroadCast(client, Encoding.UTF8.GetBytes("Opponent disconnected")); break; // klienten stängd => 0 } var nettoBytes = (bytes.Take(recBytes)).ToArray <byte>(); string response = Encoding.UTF8.GetString(bytes, 0, recBytes); SocketHelper.BroadCast(client, nettoBytes); //Console.WriteLine(player.Symbol + " sending: " + response); } catch { break; } } }