Глюк с NetworkStream или TcpClient ?
От: RealDammit  
Дата: 20.05.07 21:07
Оценка:

То ли я упустил что-то, то ли в NetworkStream.Write(byte[] buffer, int offset, int size) или TcpClient охрененный баг.

Это сцуко передавать больше 8760 байт за раз не хочет !

Запускал два экземпляра рсапределенного приложения (на ноуте и домашней PC-шке).
В одном вызывал

ns.Write(data2send, 0, len);


в другом

int bytesRead = ns.Read(data, 0, len);


Допустим data2send содержит 3000 байт, вызываем ns.Write с ноута, он успешно пишет data2send в поток.
После этого на PC-шке TcpClient подхватывает данные из потока. НО ! bytesRead какого то х.. равно не 3000, а 2920 !
То есть, все, что > 2920 обрезалось нафиг.

Попробовал, передавать кол-во байт меньшее 2920 — всё как часы, сколько отправил — столько и принял.

Потом докопался до TcpClient.Client.ReceiveBufferSize, выставил его в 1МБ, однако это тоже не исправило положение, передаваться стало не 2920, а 8760 байт, но ведь не 1МБ как было выставлено.

Может кто в курсе. Это что так и надо что-ли ?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.