private async Task <Stream> ConnectToServer() { var connectionInfo = await _commands.GetTcpInfoAsync(); var uri = new Uri(connectionInfo.Url); await _tcpClient.ConnectAsync(uri.Host, uri.Port); _tcpClient.NoDelay = true; _tcpClient.SendBufferSize = 32 * 1024; _tcpClient.ReceiveBufferSize = 4096; _networkStream = _tcpClient.GetStream(); var ms = new MemoryStream(); RavenJObject.FromObject(new TcpConnectionHeaderMessage { Operation = TcpConnectionHeaderMessage.OperationTypes.Subscription, DatabaseName = MultiDatabase.GetDatabaseName(_commands.Url) }).WriteTo(ms); RavenJObject.FromObject(_options).WriteTo(ms); ArraySegment <byte> bytes; ms.TryGetBuffer(out bytes); await _networkStream.WriteAsync(bytes.Array, bytes.Offset, bytes.Count); await _networkStream.FlushAsync(); return(_networkStream); }
private async Task <Stream> ConnectToServer(AsyncServerClient asyncServerClient) { var connectionInfo = await asyncServerClient.GetTcpInfoAsync().ConfigureAwait(false); var uri = new Uri(connectionInfo.Url); await _tcpClient.ConnectAsync(uri.Host, uri.Port).ConfigureAwait(false); _tcpClient.NoDelay = true; _tcpClient.SendBufferSize = 32 * 1024; _tcpClient.ReceiveBufferSize = 4096; var networkStream = _tcpClient.GetStream(); return(networkStream); }