0

使用套接字我可以这样做来获取字节

 Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
 byte[] buffer = new byte[1000000];
 s.Receive(buffer, buffer.Length, SocketFlags.None);
 //
 FileStream fs = File.Create("1.jpg");
 fs.Write(buffer, 0, buffer.Length);
 fs.Close();

我使用此代码接收我正在发送的图像的字节 []。

我需要将此代码转换为使用 TcpClient / NetworkStream 接收发送的字节 [] 在此处输入代码

4

1 回答 1

0

此代码应与您的代码等效:

var buffer = new byte[100000];
using (TcpClient tcp = new TcpClient(AddressFamily.InterNetwork)
{
    Client = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
})
{
    await tcp.ConnectAsync("host", 12345);
    if (tcp.Connected)
    {
        using (var stream = tcp.GetStream())
        {
            await stream.ReadAsync(buffer, 0, buffer.Length);
        }

    }
}
using (var fs = File.Create("1.jpg"))
{
    await fs.WriteAsync(buffer, 0, buffer.Length);
}
于 2013-10-11T14:34:29.167 回答