Вопрос следующий. Клиент пишет в поток строку байт. Сервер её принимает. Но принимает он только часть, т.е. часть байт в конце строки просто пропадает куда-то.
Объект потока - NetworkStream stream = null; и NetworkStream clientStream;. Количество байт, которое пишется и читается одинаковое. В чем тут ошибка?
Функция отправки запроса (клиент):
public int SendRequest(string command, EditorForm data)
{
ConstructRequest(command, data);
stream.Write(Encoding.UTF8.GetBytes(request), 0, request.Length);
return 0;
}
Функция приёма запроса (сервер):
public string RecieveRequest()
{
StringBuilder builder = new StringBuilder();
byte[] buffer = new byte[64];
int countBytes = 0;
do
{
countBytes = clientStream.Read(buffer, 0, buffer.Length);
builder.Append(Encoding.UTF8.GetString(buffer, 0, countBytes));
}
while (clientStream.DataAvailable);
data = builder.ToString();
DistructRequest();
return data;
}
Продвижение своими сайтами как стратегия роста и независимости