Программирование сокетов подключить несколько клиентов к одному серверу и перечислить их C

Привет, я действительно новичок в программировании сокетов tcp. Я хочу подключить несколько клиентов к одному серверу, используя поток, и каждый клиент подключается к серверу. мы можем видеть, кто (клиент) подключен к этому серверу.

Я думал создать структуру для хранения записи клиента на client.c и server.c, и как только клиент будет подключен, мы будем использовать send(sock, (void *)&package, sizeof(struct USER), 0 для передачи структуры серверу.c и в server.c мы также создаем одну и ту же структуру, когда сервер принимает данные recv(sock, (void *)&package, sizeof(struct USER), 0); сервер будет хранить эти данные в struct, но КАК? Я пытаюсь получить результат когда я подключил несколько клиентов, один из которых называется User1, а другой - User2, тогда я пытаюсь распечатать результат стойки.

отображение на клиенте 1

USER[0]: User1
USER[1]: (NULL)

отображение на клиенте 2

USER[0]: (NULL)
USER[1]: User2

кто-нибудь может помочь

огромное спасибо

1 ответ

Типично для нескольких клиентов подключаться к одному серверу. Я не уверен, какую информацию вы хотите передать от каждого клиента к серверу, но если это что-то вроде клиентского IP-адреса или сетевых параметров, это уже предоставляется клиентом на сервере при попытке подключения. Может быть, более глубокое изучение протокола TCP/IP может быть хорошей идеей. Существует ряд хороших учебных пособий и примеров.

Если вы пытаетесь поделиться какой-либо другой информацией по сети, как только соединение будет установлено, вы можете передать все, что захотите, через сокеты. Все это зависит от того, что делает ваше приложение, которое не указано.

licensed under cc by-sa 3.0 with attribution.