Пример #1
0
        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);
                }
            }
        }
Пример #2
0
        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);
        }