Для просмотра подробной информации перейдите на страницу автора.
GGTalk (сокращённо GG) — это высокоподобная версия QQ, включающая клиентскую часть (клиент для ПК, мобильный клиент для Android), серверную часть и базу данных. Программа может использоваться в широкой сети. Я хотел бы написать статью, которая позволит читателям получить полное представление о GG, его последних достижениях и ответах на часто задаваемые вопросы.
Переходим к сути вопроса. Личная цель заключается не в создании игрушечной версии QQ, а в создании продукта, который можно было бы использовать в реальной жизни (этот процесс ещё долгий), и постоянном его обслуживании.
(01) Регистрация, вход, поиск пользователей, добавление друзей, список друзей.
(02) Автопортрет.
(03) Текстовый чат, настройка шрифтов, GIF-анимация, вибрация окна, скриншоты, графический планшет, состояние входа (онлайн, отсутствие, занятость, не беспокоить, скрытый), уведомления при вводе сообщений.
(04) Групповая функциональность: создание группы, присоединение к группе, выход из группы, чат в группе.(05) Передача файлов, передача папок (поддерживает продолжение передачи с места прерывания).
(06) Аудио-видео чат.
(07) Удалённый диск.
(08) Удалённая помощь.
(09) Общий рабочий стол (можно указать область экрана для совместного использования).
(10) Надёжная P2P.
(11) Облачное хранилище.
(12) Оффлайн-сообщения.
(13) Оффлайн-файлы.
(14) Вспышка значка в трее: точно так же, как в QQ, когда получено сообщение, значок в трее начинает мигать, показывая аватар друга. При нажатии на аватар открывается диалоговое окно чата с другом.
(15) Список недавних контактов.
(16) Настройки системы: автоматическое запуск при старте компьютера, индекс устройства микрофона, индекс устройства камеры, закрытие программы или скрытие окна при закрытии главного окна.
(17) Журнал чата: поддерживается сохранение локально и на сервере.
(18) Разделение друзей: добавление/удаление раздела, изменение имени раздела, изменение принадлежности друга к разделу.
(19) При открытии окна чата автоматически отображается последнее отправленное сообщение.
(20) Уведомление при вводе: как в QQ, если другой пользователь пишет сообщение, то в окне чата будет отображаться уведомление "пользователь пишет".(21) Автоматическое сохранение: GG2014 автоматически сохраняет положение и размер главного окна при последнем запуске; размер последнего открытого окна чата; цвет и размер шрифта, установленные ранее. (22) Основное окно автоматически скрывается при соприкосновении с краями экрана. (23) Запись видео чата. (24) Поддержка баз данных (SQL Server 2000/2005/2008), а также возможность свободной смены между реальной и виртуальной базами данных путём конфигурации. (25) Тестирование звуковых и видеотрансляционных устройств. (26) Шифрование сообщений чата. (27) Системные уведомления.### Разработка среды и входные точки исходного кода
Серверная часть и клиентская часть PC: VS2010, язык программирования: C#, версия .NET Framework: 2.0.
Клиентская часть мобильных устройств Android: Android Studio 1.3.2, Gradle 1.3.
При установке клиентской части PC, на машине клиента должны быть установлены библиотеки времени выполнения VC++ (2008, 2010, 2013).
Если вы хотите начать исследование исходного кода GG, то входные точки для клиентской и серверной частей следующие:
(1) Для клиентской части обратите особое внимание на файл
MainFormPartial.cs
, где большинство входящих сообщений обрабатывается; классGlobalUserCache
используется для кэширования информации обо всех пользователях и группах, включая локальное хранение этой информации, а также автоматическое обновление этих данных по номеру версии.(2) Для серверной части обратите особое внимание на файл
CustomizeHandler.cs
, где большинство входящих сообщений обрабатывается; классGlobalCache
используется для кэширования информации обо всех пользователях и группах, а также взаимодействует с реальными/виртуальными базами данных.
Выбор микрофона и камеры может быть сделан через окно системных настроек (SystemSettingForm).
Видео и аудио: многие друзья спрашивают, почему работа звуковых и видеотрансляционных устройств неправильна или почему видео и аудио не плавные. Это можно проверить в официальной документации OMCS: тестирование устройств, требования к пропускной способности.
Особое примечание: во всех проектах GG, если это моя реализация, все исходные коды доступны. Прошу любителей иметь исходники для каждого DLL больше не спрашивать меня об этом:)### Разработка среда
Серверная часть и клиентская часть PC: VS2010, язык программирования: C#, версия .NET Framework: 2.0.
Клиентская часть мобильных устройств Android: Android Studio 1.3.2, Gradle 1.3.
При установке клиентской части PC, на машине клиента должны быть установлены библиотеки времени выполнения VC++ (2008, 2010, 2013).
Если вы хотите начать исследование исходного кода GG, то входные точки для клиентской и серверной частей следующие:
(1) Для клиентской части обратите особое внимание на файл
MainFormPartial.cs
, где большинство входящих сообщений обрабатывается; классGlobalUserCache
используется для кэширования информации обо всех пользователях, группах, включая локальное хранение этой информации, а также автоматическое обновление этих данных с учётом номера версии.### Запись версий 2013.08.07 — В1.0, вход, список друзей, текстовый чат, передача файлов, передача папок
2013.09.02 — В1.8, голосовой и видеочат
2013.09.23 — В2.0, облачное хранилище, удалённый доступ к дискам
2013.11.05 — В2.4, удалённое управление, совместное использование рабочего стола
2014.04.15 — В3.0, регистрация, добавление друзей, присоединение к группам, чат в группах
2014.05.16 — В3.2, сообщения при отсутствии, передача файлов при отсутствии
2014.05.28 — В3.4, системные настройки, недавние контакты
2014.06.30 — В3.5, автопортреты, изменение пароля, удаление друзей
2014.08.06 — В3.6, голосовые сообщения, голосовые записи
2014.09.16 — В3.7, улучшенный видеочат
2014.11.06 — В4.0, история чата, группировка друзей, состояние входа, GIF-анимация
2014.12.31 — В4.1, уведомления через трей, открытие исходного кода JustLib
2015.03.25 — В4.2, автоматическое скрытие главного окна
2015.06.17 — В4.3, полная запись видеочата в стандартном формате MP4
2015.09.02 — В4.4, поддержка баз данных SQL Server, возможность свободной смены между реальной и виртуальной базами данных, тестирование оборудования для голосового и видеообщения
2015.09.02 — В4.4, добавлен мобильный клиент для Android
2016.01.20 — В4.5, шифрование сообщений для повышения безопасности связи, улучшение качества голосовых и видеообщений
2016.05.30 — В5.1, добавлены системные уведомления, поддерживаются интеграции с веб-приложениями## Инструкции по установке:
Создайте базу данных GGTalk в SQL Server 2000/2005/2008, а затем выполните скрипты из файла GGTalk.sql для создания необходимых таблиц.
Откройте конфигурационный файл сервера GGTalk.Server.exe.config:
В конфигурационном файле клиента GGTalk.exe.config измените значение параметра конфигурации ServerIP на IP адрес сервера.4. Запустите клиентское приложение, зарегистрируйтесь и попробуйте использовать программу.
Исходный код версии GG для Android реализует следующие возможности:
(1) Подключение к серверу (2) Текстовый чат, эмодзи, изображения, уведомления о сообщениях (3) Список друзей (4) Отображение состояния онлайн друзей (5) Передача файлов
Примечание: Этот демонстрационный пример для Android является начальным уровнем сложности и предназначен для демонстрации базового функционала, связывающегося с версией для ПК. Для использования исходного кода версии GG для Android в реальных проектах рекомендуется его переделать или ждать более полной версии! *
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )