Рубрика «чат»

Чаты на вебсокетах, когда на бэкенде WAMP. Теперь про Android - 1

Мой коллега уже писалЧитать полностью »

Чаты на вебсокетах в iOS, если у вас WAMP - 1

Разработка заняла примерно 9 месяцев, а я занимался реализацией клиент-серверного общения по сокету для iOS. Особенности нашей ситуации:

  1. Поддержка старых версий iOS, где нативных методов для общения по сокетам ещё не было — пришлось искать рабочую библиотеку и фиксить баги.
  2. Протокол WAMP на бэкенде — предстояло научить клиент декодировать any, декодировать протоколы и создать объект, который отвечает за отправку и приём сообщений.

Примечание: описанные ниже способы декодирования, можно применить и в других задачах.
Читать полностью »

Правила эффективного общения в групповых чатах - 1Групповые чаты — модный и эффективный инструмент для организации мероприятий, тематических обсуждений. Многие предпочитают чаты традиционным группам, так как часто ответ может прийти моментально, а о каждом новом сообщении возможно получать уведомление.

Будучи админом и участником многих чатов я составил эти правила и решил поделиться ими тут для того чтобы повысить КПД общения и снизить уровень стресса участников.
Читать полностью »

После недавнего выпуска 3CX v16 мы уже подготовили первое обновление 3CX V16 Update 1 Beta. В нем реализованы новые возможности корпоративного чата и обновленный сервис Call Flow Service, который совместно со средой разработки Call Flow Designer (CFD) позволяет создавать сложные голосовые приложения на C#.

Обновленный корпоративный чат

Коммуникационный виджет 3CX Live Chat & Talk продолжает активно разрабатываться. В обновлении Update 1 виджет «висит» независимо от переходов между страницами и вкладками. Теперь посетители могут путешествовать по вашему сайту, оставляя окно чата доступным для немедленного общения.

Интересные возможности появились и в сервисе корпоративного чата 3CX.Читать полностью »

Результат пошуку зображень за запитом "голубиная почта"

Небольшой вопрос/ответ:

Для кого это? Людям, которые мало или вообще не сталкивались с распределенными системами, и которым интересно увидеть как они могут строится, какие существуют паттерны и решения.

Зачем это? Самому стало интересно что и как. Черпал информацию с разных источников, решил выложить в концентрированном виде, ибо в свое время сам хотел бы увидеть подобную работу. По сути это текстовое изложение моих личных метаний и раздумий. Также, наверняка будет много исправлений в комментариях от знающих людей, отчасти это и есть целью написания всего этого именно в виде статьи.

Постановка задачи

Как сделать чат? Это должно быть тривиальной задачей, наверное каждый второй бекендер пилил свой собственный, так же как игровые разработчики делают свои тетрисы/змейки и т. п. Я взялся за такой, но чтоб было интереснее он должен быть готов к захвату мира, чтоб мог выдерживать сотниллиарды активных пользователей и вообще был неимоверно крут. Из этого исходит ясная потребность в распределенной архитектуре, потому что вместить все воображаемое количество клиентов на одной машине — пока нереально с нынешними мощностями. Заместо того чтоб просто сидеть и ждать на появление квантовых компьютеров я решительно взялся за изучение темы распределенных систем.

Стоит отметить что быстрый отклик очень важен, пресловутый realtime, ведь это же чат! а не доставка почты голубями.

%рандомная шутка про почту россии%

Использовать будем Node.JS, он идеален для прототипирования. Для сокетов возьмем Socket.IO. Писать на TypeScript.

И так, что вообще мы хотим:

  1. Чтоб пользователи могли слать друг-другу сообщения
  2. Знать кто онлайн/оффлайн

Как мы это хотим:

Читать полностью »

Зачем пишем?

tinode logo

Давным-давно в одной далекой стране была компания America Online. И был у нее удивительный частный Интернет за заборчиком, где вместо URL-ов были "keywords": что-то среднее между адресом веб страницы и купленным ключевым словом в рекламе. Компании боролись за интересные ключевые слова, как сейчас борются за домены, а реклама выглядела так: "посетите нас во всемирной сети по адресу www.example.com, или наберите AOL Keyword: 'banking'".

История имеет свойство повторяться. Сейчас роль Америки Онлайн играют основные мессенджеры: все они за заборчиками, несовместимы друг с другом, все изобретают свои keywords, желают схватить пользователя и уже никогда не отпускать. Компании не заинтересованы в открытости: более крупные игроки не желают делиться пользователями с более мелкими и уж тем более становиться открытыми. В результате невозможно послать сообщение даже из WhatsApp в Facebook Messenger, несмотря на то, что оба принадлежат одной компании. Да и пользователи ценят надежность и удобство выше абстрактной открытости, хотя многих раздражает, что часть друзей, например, в Telegram, часть в WhatsApp, а родители в Skype.

А вот роль открытого интернета, к сожалению, сегодня не играет никто. Ситуацию хочется изменить. Если XMPP не справился, может быть кто-то другой сможет? И тут рассказ про Tinode.

Читать полностью »

Муки выбора корпоративного мессенджера: бесплатно, свой сервер, не iChat - 1

Всем привет, меня зовут Дмитрий, я работаю разработчиком в небольшой софтверной компании в России уже 5 лет. Я бы хотел рассказать про то, как «исторически сложилось» с чатом в нашей компании, поделиться своими муками выбора достойного наследника и найденными решениями.

Начало

Когда я в первый день пришёл на работу, мне показали моё рабочее место, дали компьютер, зарегистрировали в Жире и Гитлабе, и показали главное средство общения сотрудников между собой — iChat. Можно подумать, это что-то про Apple, но всё было немного ужасней.
Читать полностью »

Всем привет, дорогие хабрахабровцы! Недавно я начал изучать node.js и дошёл до самого интересного, а именно — Socket.Io. Поизучав информацию в интернете, я так и не смог найти подробного «гайда» по данному модулю, поэтому пришлось копать самому. Некоторые скажут, что можно и самому понять, что написано на сайте модуля, но некоторым этого будет не достаточно чтобы понять базу web-socket'ов, поэтому я решил написать эту статью для таких людей, а именно на самом 'чётком' примере — чате.
Читать полностью »

в 8:24, , рубрики: Go, чат

Начинаем разработку чата на Go. Со стеком технологий пока не определились, но для начала сделаем каркас на Go. Берем за основу стандартный пример и пробуем разобраться, что здесь к чему:

https://github.com/golang-samples/websocket/tree/master/websocket-chat

Структура

Вводим 3 структуры Message, Client, Server, которые определяют сервер, клиента со стороны сервера и сообщение.

Message

Сообщение определено структурой:

type Message struct {
    Author string `json:"author"`
    Body   string `json:"body"`
}

func (self *Message) String() string {
    return self.Author + " says " + self.Body
}

С сообщением все совсем просто… Так, что перейдем сразу к клиенту.

Читать полностью »

image

Команда специалистов Check Point security обнаружила в стандартном функционале Facebook, а так же в Facebook Messenger, уязвимость, которая позволяла получить доступ к любым отправленным через социальную сеть сообщениям пользователей.

Конкретно эксплоит позволял кому угодно получить доступ к сообщениям пользователей и изменять их содержимое, то есть, например, потенциально распространять вредоносное ПО.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js