private Task OnlyThrowsSocketExceptionOnNet() { var sut = new TcpSocketClient(); var unreachableHostName = ":/totallynotvalid@#$"; return sut.ConnectAsync(unreachableHostName, 8000); }
private Task OnlyThrowsSocketExceptionOnWinRT() { var sut = new TcpSocketClient(); var tooHighForAPort = Int32.MaxValue; return sut.ConnectAsync("127.0.0.1", tooHighForAPort); }
public async Task TcpSocketClient_ShouldSendReceiveData() { var bytesToSend = new byte[] {0x1, 0x2, 0x3, 0x4, 0x5}; var len = bytesToSend.Length; var port = PortGranter.GrantPort(); var listener = new TcpSocketListener(); await listener.StartListeningAsync(port); var tcs = new TaskCompletionSource<bool>(); listener.ConnectionReceived += async (sender, args) => { var bytesReceived = new byte[len]; await args.SocketClient.ReadStream.ReadAsync(bytesReceived, 0, len); var allSame = Enumerable .Zip(bytesToSend, bytesReceived, (s, r) => s == r) .All(b => b); tcs.SetResult(allSame); }; var client = new TcpSocketClient(); await client.ConnectAsync("127.0.0.1", port); await client.WriteStream.WriteAsync(bytesToSend, 0, len); var ok = await tcs.Task; await listener.StopListeningAsync(); Assert.True(ok); }
public Task TcpSocketClient_ShouldThrowNormalException_WhenNotPlatformSpecific() { var sut = new TcpSocketClient(); var tooHighForAPort = Int32.MaxValue; return Assert.ThrowsAsync<ArgumentOutOfRangeException>(() => sut.ConnectAsync("127.0.0.1", tooHighForAPort)); }
public Task TcpSocketClient_ShouldThrowPCLException_InPlaceOfNativeSocketException() { var sut = new TcpSocketClient(); var unreachableHostName = ":/totallynotvalid@#$"; return Assert.ThrowsAsync<Exception>(() => sut.ConnectAsync(unreachableHostName, 8000)); }
private async Task SendTcpAsync(ClientInfo clientInfo, byte[] message) { var client = new TcpSocketClient(); await client.ConnectAsync(clientInfo.IpAddress, SharedSettings.TcpPort); client.WriteStream.Write(message, 0, message.Length); await client.WriteStream.FlushAsync(); await client.DisconnectAsync(); }
public async Task TcpSocketClient_ShouldBeAbleToConnect() { var port = PortGranter.GrantPort(); var listener = new TcpSocketListener(); await listener.StartListeningAsync(port); var sut = new TcpSocketClient(); await sut.ConnectAsync("127.0.0.1", port); await listener.StopListeningAsync(); // getting here means nothing went boom Assert.True(true); }
public static bool Connect() { if (ImageComparisonServer != null) return true; try { ImageComparisonServer = new TcpSocketClient(); var t = Task.Run(async () => await ImageComparisonServer.ConnectAsync(XenkoImageServerHost, XenkoImageServerPort)); t.Wait(); } catch (Exception) { ImageComparisonServer = null; return false; } return OpenConnection(); }
/// <summary> /// Connects to the Logentries API Server. /// </summary> public void Connect() { if (_useHttpPut) { _httpClient = new HttpClient(); } else { _socketClient = new TcpSocketClient(); var task = _socketClient.ConnectAsync(_url, _tcpPort, _useSsl); task.Wait(new TimeSpan(0, 0, 30)); } }
public Task TcpSocketClient_Connect_ShouldCancelByCancellationToken() { var sut = new TcpSocketClient(); var cts = new CancellationTokenSource(TimeSpan.FromSeconds(5)); var ct = cts.Token; // let's just hope no one's home :) return Assert.ThrowsAsync<OperationCanceledException>(()=> sut.ConnectAsync("99.99.99.99", 51234, cancellationToken: cts.Token)); }
public async Task StartClient(string address, int port, bool needAck = true) { // Create TCP client var socket = new TcpSocketClient(2048); try { await socket.ConnectAsync(address, port); SetSocket(socket); //socket.NoDelay = true; // Do an ack with magic packet (necessary so that we know it's not a dead connection, // it sometimes happen when doing port forwarding because service don't refuse connection right away but only fails when sending data) if (needAck) await SendAndReceiveAck(socket, MagicAck, MagicAck); Connected?.Invoke(this); isConnected = true; } catch (Exception) { DisposeSocket(); throw; } }
public async Task<ITcpSocketClient> CreateResponseSocket() { var portAddress = Data.PortAddress; if (portAddress != null) { var result = new TcpSocketClient(); await result.ConnectAsync(portAddress.Host, portAddress.Port); return result; } if (Data.PassiveSocketClient == null) throw new InvalidOperationException("Passive connection expected, but none found"); return Data.PassiveSocketClient; }
public async Task<ITcpSocketClient> CreateResponseSocket() { var portAddress = Data.PortAddress; if (portAddress != null) { var result = new TcpSocketClient(); await result.ConnectAsync(portAddress.Host, portAddress.Port); return result; } return Data.PassiveSocketClient; }