Как получить ip-адрес сервера в программировании сокета?

#qt #asp.net-core #sockets #qtquickcontrols2

Вопрос:

Я хочу быстро создать приложение для чата, такое как telegram в qt.

Я протестировал приложение с IP 127.0.0.1 -адресом, отправил сообщение на сервер, и сервер получит сообщение.

Теперь, если я разверну приложение, будет много клиентов, и любой клиент будет сервером для другого клиента(если я правильно понял программирование сокетов).

Поэтому, когда пользователь хочет отправить сообщение другому пользователю, у него должен быть IP-адрес другого пользователя(то есть сервера), так как я могу решить проблему наличия IP-адреса другого пользователя?

У меня есть API rest(asp.net ядро) для зарегистрированных пользователей. Должен ли я сохранять последний IP-адрес каждого пользователя, когда он делает запрос в моем asp.net основной веб-api? и с помощью списка контактов я тоже отправляю последний IP-адрес?

Или есть другой способ прогрессирования сокета?

Комментарии:

1. …и любой клиент является сервером для других клиентов… Это не то, как работает Telegram. Все сообщения в Telegram проходят через серверы Telegram.

2. похоже, вы говорите о настройке p2p (однорангового) соединения, что не является тривиальной задачей