Я недавно задал связанный вопрос В C # как мне, чтобы сокет оставался открытым и принимать новые данные? и несколько решил его, но теперь у меня возникают проблемы с получением моего сервера для полученияданные от одного и того же клиента более одного раза.
Я написал простой сервер сокетов, используя форму Windows в VS, которая имеет кнопку, которая вызывает функцию приема
public void Receive()
{
try
{
byte[] bytes = new byte[256];
received = s1.Accept().Receive(bytes);
receivedText.Text += System.Text.ASCIIEncoding.ASCII.GetString(bytes);
}
catch (SocketException e)
{
Console.WriteLine("{0} Error code: {1}.", e.Message, e.ErrorCode);
return;
}
}
Это работает, еслив первый раз, когда я отправляю сообщение от своего клиента, но если я пытаюсь отправить что-то еще и нажимаю на кнопку «получить», мой сервер просто зацикливается и никогда не получает новые данные.Однако, если я отправляю откуда-то еще или перезапускаю соединение с моего клиента, я могу отправлять данные.
Я хотел бы, чтобы мой сервер мог получать любое количество данных от того же клиента (s) одновременно.Пожалуйста, спросите, если вам нужно больше кода / детали.Не уверен, что важно, так как я довольно новичок в программировании сокетов.