2013-10-11 35 views
0

使用socket我能如愿拿到字节套接字接收相当于上的NetworkStream/TcpClient的

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(); 

我使用此代码收到我送的图像的一个byte []。

我需要把这段代码转换使用的TcpClient /的NetworkStream接收[]发送 进入这里

回答

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); 
}