protected void SocketProcess() { try { var receiver = new MessageReceiver(); receiver.OnMessageReceived += OnDataReceived; var client = new TcpClient(); client.Connect(_host, _port); while (!_processor.IsGameEnd) { var stream = client.GetStream(); var bytes = _encoder.Encode(new LoginMessage() { UserName = "******" }); stream.Write(bytes, 0, bytes.Length); var buffer = new byte[_bufferSize]; int bytesCount = stream.Read(buffer, 0, _bufferSize); receiver.OnReceivedBytes(buffer, bytesCount); } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
public void Start() { var buffer = new byte[1024]; var mr = new MessageReceiver(); mr.OnMessageReceived += ReceiveMessage; while (!(_socket.Available == 0 & _socket.Poll(1000, SelectMode.SelectRead)) && !_isAuthenticated) { var numBytes = _socket.Receive(buffer, 1024, SocketFlags.None); mr.OnReceivedBytes(buffer, numBytes); } Console.WriteLine("client disconnected"); }