public void ReadCallback(IAsyncResult ar) { String content = String.Empty; Client client = (Client)ar.AsyncState; Socket handler = client.Socket; // Read data from the client socket. int bytesRead = handler.EndReceive(ar); if (bytesRead > 0) { content = client.SetSb(bytesRead); if (content.IndexOf(Environment.NewLine) > -1) { Console.WriteLine("Letto dalla socket : {0}", content); Send(handler, content); client.ClearData(); client.BeginReceive(ReadCallback); } else { client.BeginReceive(ReadCallback); } } }
public void AcceptCallback(IAsyncResult ar) { acceptEvent.Set(); Socket listener = (Socket)ar.AsyncState; Socket handler = listener.EndAccept(ar); Console.WriteLine(string.Format("Connessione accettata da {0}", handler.RemoteEndPoint)); var client = new Client(handler); _clientsRepository.Add(client); client.BeginReceive(ReadCallback); }