示例#1
0
        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;
            }));
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }