предисловие
Инструменты чата становятся все более и более неотделимыми от нашей повседневной жизни, глядя на腾讯Два инструмента большого парняQQ,We Chatодиноко в реках и озерах,小马哥Скучно дома каждый день считать деньги
Несколько дней назад Сяолиу собирал где-то травы и случайно упал в пещеру.Очнувшись от комы, он обнаружил, что на каменной стене была выгравирована Цзюян Шенгун.Есть глава о том, как сделать инструмент для чата.
C/S режим
режим C-SClient-Server 模式Также называется режимом клиент-сервер.
Между клиентом и сервером согласовываются различные протоколы, клиент вводит инструкцию, а сервер возвращает результат расчета.
TCP/UDP-протокол
OS
- Все является файлом в ОС.Будь то запись или чтение с жесткого диска или из сети, ОС даст ему файловый дескриптор
- Файловые дескрипторы управляются ядром. Чтение и запись информации должны проходить через ядро, поэтому в пространстве должно быть пространство, в котором может храниться информация.
- Информация в конечном итоге передается приложению, поэтому между процессом ядра и пользовательским процессом все еще существует ввод-вывод.
- На этом этапе сетевая информация хранится в пространстве пользовательского процесса пользователя, и пользователь может использовать
После основного введения, как создать свой собственный чат-инструмент
Инструменты чата
После предыдущего введения в настоящее время существует ситуация между клиентом и сервером, как показано на рисунке.
Два клиента не могут общаться напрямую客户端不在公网上
Однако IP-ПОРТ сервера в общедоступной сети фиксирован, и приложение на клиенте может подключаться к серверу в любом месте и отправлять информацию на сервер.
На основании вышеизложенного клиент может подключиться к серверу в любое время (C/S结构)
К каждому клиенту на сервере подключены файловые дескрипторы (ОС->fd)
Так что клиент выбирает другой на сервереfdи отправить информацию на сервер
После того, как сервер получит информацию, по выбору клиентаfdНаправьте информацию соответствующему клиенту. Завершите связь между пользователем A и пользователем B.
прошлые статьи
- Чат Xiaoliu - принцип реализации инструмента чата
- Чат Xiaoliu - принцип реализации боевой платформы
- Чаты Xiaoliu — принцип реализации nginx
Инструмент для чата своими руками
Кодовый адрес инструмента мини-чата
Групповой чат
Q: 如何实现群组聊天
A: Просто выберите еще несколькоfd