How to use Socket.SendAsync to send large data
private void ProcessReceive(SocketAsyncEventArgs e) { // Check if the remote host closed the connection. if (e.BytesTransferred > 0) { if (e.SocketError == SocketError.Success) { Token token = e.UserToken as Token; token.SetData(e); Socket s = token.Connection; if (s.Available == 0) { Boolean willRaiseEvent = false; // GET DATA TO SEND byte[] sendBuffer = token.GetRetBuffer(); // this.bufferSize IS SocketAsyncEventArgs buffer SIZE byte[] tempBuffer = new byte[this.bufferSize]; int offset = 0; int size = (int)Math.Ceiling((double)sendBuffer.Length / (double)this.bufferSize); for (int i = 0; i <