private async Task <bool> WriteStreamAsync(TcpClient Client, SocketHeader header, byte[] Bytes) { //Debug.WriteLine($"[WriteStream] {header}, {Bytes.Join(o => o.ToString())}"); NetworkStream NetworkStream = Client.GetStream(); return(await Task.Run(() => { NetworkStream.Write(header.ToBytesArray(), 0, SocketHeader.Size); NetworkStream.Write(Bytes, 0, Bytes.Length); return true; })); }
protected async Task <int> SendRequestAsync(TcpClient Client, byte[] Bytes) { SocketHeader header = new SocketHeader() { ID = IdPtr++, Length = Bytes.Length, Type = SocketType.Request, }; var result = await WriteStreamAsync(Client, header, Bytes); return(header.ID); }
protected async Task <bool> SendResponseAsync(TcpClient Client, int ID, byte[] Bytes) { SocketHeader header = new SocketHeader() { ID = ID, Length = Bytes.Length, Type = SocketType.Response, }; var result = await WriteStreamAsync(Client, header, Bytes); return(true); }