Проблемы с приложением однорангового чата — имя узла и обработка соединенияC++

Программы на C++. Форум разработчиков
Anonymous
 Проблемы с приложением однорангового чата — имя узла и обработка соединения

Сообщение Anonymous »

Я работаю над простым приложением для однорангового чата, использующим TCP, и во время тестирования столкнулся с несколькими проблемами. Я протестировал приложение, запустив два экземпляра локально, но обнаружил несколько ошибок, которые не могу понять.
Сводка кода: приложение использует TCP для установления соединения. между двумя сверстниками, позволяя им общаться. Один одноранговый узел прослушивает динамически выбранный свободный порт, а подключающийся одноранговый узел получает порт автоматически, без ручного ввода. Связь осуществляется путем отправки сообщений между двумя подключенными узлами, при этом имена узлов отображаются рядом с каждым сообщением.
Вот фрагмент кода, обрабатывающий соединение и обмен сообщениями между узлами (полный файл прилагается):

Код: Выделить всё

bool establish_connection(int &connection_sock, int listening_sock, const std::string &peer_ip, int peer_port)
{
bool connected = false;
//  Attempt to connect to the discovered peer (client mode)
if (!peer_ip.empty() && peer_port > 0)
{
// Create a TCP socket for the connection
connection_sock = socket(AF_INET, SOCK_STREAM, 0);
if (connection_sock == -1)
{
std::cerr 

Подробнее здесь: [url]https://stackoverflow.com/questions/79058072/issues-with-peer-to-peer-chat-application-peer-name-and-connection-handling[/url]

Вернуться в «C++»