ИСПРАВЛЕННАЯ ПРОБЛЕМА: клиент не получил ни одного байта с сервера, поскольку его нужно было добавить в список исключений брандмауэра.
У меня есть работающее соединение сервер-клиент, клиентможет отправлять байты на сервер, а сервер может читать его.проблема в том, что клиент не получает никаких байтов от самого сервера.Я очень новичок в сетевом программировании, пожалуйста, не будь груб со мной.
Отправка байтов клиенту
try
{
byte[] buff = Encoding.ASCII.GetBytes("message from server - " +
new Random().Next(8000) + "\n");
NetworkStream ns = client.GetStream();
ns.Write(buff, 0, buff.Length);
}
catch(Exception r)
{
richTextBox1.AppendText("Sending data to - " + client.Client.RemoteEndPoint + "\n" + r.Message);
}
Получение байтов с сервера
while(true)
{
try
{
byte[] buff = new byte[1000];
NetworkStream ns = client.GetStream();
ns.Read(buff, 0, buff.Length);
string s = Encoding.ASCII.GetString(buff);
BackThread.ReportProgress(0, s);
}
catch(Exception r)
{
richTextBox1.AppendText("Failed to get data from server\n" + r.Message + "\n");
}
}
Иногда клиент получает исключение WsaCancelBlockingCall при попытке получить байты с сервера.