Молчун
Зарегистрирован: 21 July 2008
Сообщения: 25
Примеры кода: 0
|
TcpClient TcpListener и отправка файла |
06 February 2010 16:18 |
|
|
|
|
Привет всем, столкнулся со странной проблемой, при отправке рисунка через сеть он приходит "битым", число байт соответствует отправленному числу, но сам рисунок отображается не полностью
private void HandleIncoming(TcpClient client)
{
using (NetworkStream stream = client.GetStream())
{
stream.ReadTimeout = 3000;
byte[] info = new byte[4];
stream.Read(info, 0, 4);
stream.Flush();
int dataLength = BitConverter.ToInt32(info, 0);
info = new byte[dataLength];
string hello = "hello";
stream.BeginRead(info, 0, dataLength, ReadComplete, info);
}
}
private void Send()
{
Bitmap b = new Bitmap("D:/1.bmp");
MemoryStream ms = new MemoryStream();
b.Save(ms, ImageFormat.Bmp);
byte[] output = ms.ToArray();
TcpClient client = new TcpClient();
client.Connect(IPAddress.Parse("127.0.0.1"), 8000);
using (NetworkStream stream = client.GetStream())
{
stream.WriteTimeout = 3000;
byte[] info = new byte[4];
info = BitConverter.GetBytes(output.Length);
stream.Write(info, 0, 4);
stream.BeginWrite(output, 0, output.Length, WriteComplete, output);
}
}
|
|