private static void Receive_Callback(IAsyncResult ar) { Socket socket = (Socket)ar.AsyncState; int read = socket.EndReceive(ar); recBuf found = Receive_buffers.Find(item => item.socket == socket); Message message = new Message(); found.messages.Add(message); message.text = new byte[BuffSize]; socket.BeginReceive(message.text, 0, BuffSize, SocketFlags.None, Receive_Callback, socket); }
private static void Accept_Callback(IAsyncResult ar) { Socket socket; socket = Server_socket.EndAccept(ar); if (new Form2((IPEndPoint)socket.RemoteEndPoint).ShowDialog() == DialogResult.Yes) { Clients_sockets.Add(socket); recBuf Receive_buffer = new recBuf(socket); Receive_buffers.Add(Receive_buffer); Message message = new Message(); Receive_buffer.messages.Add(message); message.text = new byte[BuffSize]; socket.BeginReceive(message.text, 0, BuffSize, SocketFlags.None, Receive_Callback, socket); } else { socket.Shutdown(SocketShutdown.Both); socket.Close(); } Server_socket.BeginAccept(Accept_Callback, null); }