Как бы вы сделали программу мгновенного Messenger для пользовательской базы веб -сайтов?
-
16-09-2019 - |
Вопрос
У меня есть сайт социальной сети, аналогичный дизайну с сообществом типа MySpace/Facebook, я использую PHP/MySQL на установке лампы.
Я всегда хотел иметь свой собственный мгновенный мессенджер, который бы пошел на ПК пользователя, похожий на AIM, который будет работать
С моим сайтом, яннг -буддилист в программе будет состоять из пользователей на моем сайте, а также показывать изображение пользователей рядом с
Имя и ссылка на профиль на моем сайте.
Теперь я знаю, что это возможно, но что заставит меня не хотеть делать это ресурсы сервера, которые он потребует. Итак, я спрашиваю,
Если бы вы это сделали, как бы вы это сделали?
На каком языке вы бы создали программу .exe?
Есть ли что -нибудь, чтобы заставить пользователя подключиться к другому пользователю, чтобы каждое сообщение между ними не достигло моего MySQL DB?
Любые советы/советы/предложения приветствуются
Решение
Я рекомендую использовать XMPP, протокол Core для Jabber.
Это протокол, который многие веб -сайты используют, например, Google Talk.
Вам понадобится база данных, если вы хотите, чтобы журналы были очевидно. Если это чисто в режиме реального времени, то вам, возможно, не нужно хранить сообщения через базу данных.
Если вам просто нужна функция чата Ajax на вашем сайте, вам следует просто искать в Интернете, так как их тонна. Если вам просто нужен сервер чата с целом, просто используйте Jabber или IRC.
Другие советы
Кодирующее мыло (простой протокол доступа к объекту) с использованием Java (и XML) или любого другого языка намного проще и быстрее.
В чатах Peer to Peer такие же ловушки, как и любая система P2P, и это почти все сидят за аппаратным брандмауэром. Практически никто из них не знает, как изменить правила брандмауэра, и в любом случае еще меньше.
Вам не нужно, чтобы сервер чата нажимал на ваш БД. Самый простой протокол чата действительно был бы не более чем своего рода прокси. Клиент A подключается к серверу, клиент B подключается к серверу, сообщение от клиента A перенаправлено клиенту B. Очень быстро, очень просто, может обрабатывать много клиентов (мы говорим здесь тысячи.). Я бы порекомендовал вам реализовать ограниченный кэш сообщений (скажем, от 5 до 10 сообщений), потому что лишь немногие вещи путают двух человек, общающихся с падением случайных сообщений. Кэшируйте несколько сообщений, требуют сигналов ACK от клиентов за каждое сообщение ... и т. Д. и т. Д. и т. Д. и т. Д. и т. Д.