Проблема с отправкой данных с сервера к клиенту.C++

Доброго времени суток.Нужно сделать чат на c++,я сделал половину работы и клиент отправляет данные серверу,все нормально,думал что бы отправить данные с сервера на клиент сделать просто все обратно(то есть на клиенте поместить прослушивание recv от сервера,а на сервере сделать send) по этому же сокету,но что-то ничего не получается.Что подскажут гуру?Как лучше сделать?(TCP соединение)

пример отправки с сервера
char buf[50] = "";
     int bytesSent;
     if (timer == true) {
      String ^ strT;
      strT = textBox2->Text;
      int TempNumOne = textBox2->Text->Length;
      for (int a = 0; a < TempNumOne; a++)
      {

       buf[a] = strT[a];

      }
      bytesSent = send(s, buf, 50, 0);
      textBox1->Text = "Sent:" + System::Convert::ToString(bytesSent);
      textBox1->Text = "Message :" + textBox2->Text; }


Хотелось бы спросить еще,я получается все делаю в 1 сокете,принимаю и отправляю данные,может проблема в том что для приема нужен один,а для отправки другой?
  • Вопрос задан
  • 2462 просмотра
Пригласить эксперта
Ответы на вопрос 1
stream13
@stream13
Из вопроса не совсем ясно, что происходит.
Может у Вас дескриптор перетирается при открытиях сокетов, или обработчики не вынесены в отдельные потоки.
Еще, попробуйте, заменить серверный send() на write(сокет, данные, размер).

Возможно, третий пример будет полезен.

Если возможно, советую установить WireShark на клиенте и сервере, и это поможет покопаться в пакетах.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы