public ChannelWrapperTests(TaskClientConnector connector) : base(connector) { // init various things receiver = new SocketAsyncEventArgs(); receiver.SetBuffer(receiveBuffer, 0, receiveBuffer.Length); receiverArgs = new DirectBytesReceivedEventArgs(receiver); sender = new SocketAsyncEventArgs(); sender.SetBuffer(sendBuffer, 0, sendBuffer.Length); sendBufferWriter = new MemoryStream(sendBuffer, true); // establish a connection Task <Socket> task = connector.ConnectAsync(); task.Wait(TimeSpan.FromSeconds(2)); wrapper = new ChannelWrapperBase(task.Result, receiver, receiverArgs, sender, sendBufferWriter); WaitForServerConnections(1); // get the other end of the socket otherEnd = Connections[0]; // set up event handlers wrapper.BytesReceived += OnBytesReceived; wrapper.Closed += OnClosed; wrapper.DuplexChannelClosed += OnDuplexChannelClosed; // start receive loop wrapper.Start(); }
public ClientSocketSlim(int receiveBufferSize, int sendBufferSize, bool preallocate, AddressFamily?restrictedAddressFamily = AddressFamily.InterNetwork) { this.receiveBufferSize = receiveBufferSize; this.sendBufferSize = sendBufferSize; this.restrictedAddressFamily = restrictedAddressFamily; if (preallocate) { AllocateCommunicationResources(); } connector = new TaskClientConnector(SocketType.Stream, ProtocolType.Tcp, new SocketAsyncEventArgs()); connector.Connected += OnConnectSucceeded; connector.Failed += OnConnectFailed; }
public TaskClientConnectorTests(TaskClientConnector connector) : base(connector) { this.connector = connector; }