/// <summary> /// Creates the TcpClientReader and TcpClientWriter /// </summary> /// <param name="remoteAddress">The remote server address</param> private void FinalizeConnection(IPAddress remoteAddress) { _networkStream = _client.GetStream(); _reader = new TcpClientReader(_client); _reader.OnException += Disconnect; _reader.OnMessageReceived += OnMessageReceived; _reader.Start(); _writer = new TcpClientWriter(_client); _writer.OnException += Disconnect; _writer.OnMessageSent += () => { MessageSent?.Invoke(this); }; _writer.Start(); if (string.IsNullOrEmpty(Name)) { Name = _client.Client.RemoteEndPoint.As <IPEndPoint>()?.Address.ToString() ?? ""; } }
/// <summary> /// Creates the TcpClientReader and TcpClientWriter /// </summary> /// <param name="remoteEndPoint">The remote server address</param> private void FinalizeConnection(IPEndPoint remoteEndPoint) { _networkStream = _client.GetStream(); _reader = new TcpClientReader(_client); _reader.OnException += Disconnect; _reader.OnMessageReceived += OnMessageReceived; _reader.Start(); _writer = new TcpClientWriter(_client); _writer.OnException += Disconnect; _writer.OnMessageSent += (message) => { DataSent?.Invoke(this, message); }; _writer.Start(); //Name = Guid.NewGuid().ToString() + "." + _client.Client.RemoteEndPoint.As<IPEndPoint>()?.Address.ToString() ?? ""; Name = RemoteEndPoint.ToString(); //var ipEndPoint = RemoteEndPoint; //if (ipEndPoint != null) // Name = ipEndPoint.Address.ToString() + ":" + ipEndPoint.Port.ToString(); }