name: Чат

sort: 1

Чат

Это простая демонстрация двух способов, которыми можно реализовать Web IM приложение:

Используя long polling. Используя WebSocket.

Оба способа, по умолчанию, сохраняют данные в памяти так, что каждый раз перезапуская приложение вы будете терять данные, но вы можете изменить настройки в файле conf/app.conf, чтобы включить использование базы данных.

Вот пример организации проекта:

  1. WebIM/
  2. WebIM.go # Главный пакет
  3. conf
  4. app.conf # Конфигурационный файл
  5. controllers
  6. app.go # Окно приветствия которое позволяет выбрать технологию и имя пользователя
  7. chatroom.go # Функции для манипулирования данными
  8. longpolling.go # Контроллер и методы для чата на long polling технологии
  9. websocket.go # Контроллер и методы для чата на WebSocket технологии
  10. models
  11. archive.go # Общии функции для работы с данным (модель). Общие для обоих технологий (WebSocket и long polling)
  12. views
  13. ... # Файлы представления
  14. static
  15. ... # JavaScript и CSS файлы

Посмотреть код на GitHub