1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/gsbhz-GG

В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
README.md 16 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 13.03.2025 06:06 f341268

Высокоподобная версия QQ для широкой сети


Проект: http://www.cnblogs.com/justnow/p/3382160.html

Для просмотра подробной информации перейдите на страницу автора.


  • (Последняя версия: V5.1, 01.06.2016 Добавлено уведомление системы)*

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) Системные уведомления.### Разработка среды и входные точки исходного кода

  1. Серверная часть и клиентская часть PC: VS2010, язык программирования: C#, версия .NET Framework: 2.0.

  2. Клиентская часть мобильных устройств Android: Android Studio 1.3.2, Gradle 1.3.

  3. При установке клиентской части PC, на машине клиента должны быть установлены библиотеки времени выполнения VC++ (2008, 2010, 2013).

  4. Если вы хотите начать исследование исходного кода GG, то входные точки для клиентской и серверной частей следующие:

(1) Для клиентской части обратите особое внимание на файл MainFormPartial.cs, где большинство входящих сообщений обрабатывается; класс GlobalUserCache используется для кэширования информации обо всех пользователях и группах, включая локальное хранение этой информации, а также автоматическое обновление этих данных по номеру версии.

(2) Для серверной части обратите особое внимание на файл CustomizeHandler.cs, где большинство входящих сообщений обрабатывается; класс GlobalCache используется для кэширования информации обо всех пользователях и группах, а также взаимодействует с реальными/виртуальными базами данных.

Дополнительные замечания1. Если вы планируете развернуть GG на большой сети, то можно указать порт прослушивания в конфигурационном файле сервера; в конфигурационном файле клиента можно указать IP-адрес и порт сервера.

  1. Выбор микрофона и камеры может быть сделан через окно системных настроек (SystemSettingForm).

  2. Видео и аудио: многие друзья спрашивают, почему работа звуковых и видеотрансляционных устройств неправильна или почему видео и аудио не плавные. Это можно проверить в официальной документации OMCS: тестирование устройств, требования к пропускной способности.

  3. Особое примечание: во всех проектах GG, если это моя реализация, все исходные коды доступны. Прошу любителей иметь исходники для каждого DLL больше не спрашивать меня об этом:)### Разработка среда

  4. Серверная часть и клиентская часть PC: VS2010, язык программирования: C#, версия .NET Framework: 2.0.

  5. Клиентская часть мобильных устройств Android: Android Studio 1.3.2, Gradle 1.3.

  6. При установке клиентской части PC, на машине клиента должны быть установлены библиотеки времени выполнения VC++ (2008, 2010, 2013).

  7. Если вы хотите начать исследование исходного кода 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, добавлены системные уведомления, поддерживаются интеграции с веб-приложениями## Инструкции по установке:

  1. По умолчанию текущая версия сервера настроена на использование виртуального кэша в оперативной памяти, поэтому нет необходимости устанавливать базу данных.
  2. Копируйте папку GGTalk.Server на сервер и запустите GGTalk.Server.exe.
  3. Измените значение параметра ServerIP в конфигурационном файле GGTalk.exe.config на IP адрес вашего сервера.
  4. Запустите клиентскую часть, зарегистрируйтесь и войдите в систему для тестирования.
  5. Встроенными тестовыми аккаунтами являются 10000, 10001, 10002, 10003, 10004; все пароли одинаковы и равны 1.
  6. Для тестирования мобильной части на Android, сначала измените IP адрес и порт сервера в исходном коде Android, затем перекомпилируйте его для получения APK файла.

Если требуется использовать реальную физическую базу данных, выполните следующие шаги:

  1. Создайте базу данных GGTalk в SQL Server 2000/2005/2008, а затем выполните скрипты из файла GGTalk.sql для создания необходимых таблиц.

  2. Откройте конфигурационный файл сервера GGTalk.Server.exe.config:

    1. Измените значение параметра конфигурации UseVirtualDB на false.
    2. Измените значение параметра конфигурации DBIP на IP адрес базы данных.
    3. Измените значение параметра конфигурации SaPwd на пароль пользователя sa.
  3. В конфигурационном файле клиента GGTalk.exe.config измените значение параметра конфигурации ServerIP на IP адрес сервера.4. Запустите клиентское приложение, зарегистрируйтесь и попробуйте использовать программу.

Исходный код версии GG для Android

Исходный код версии GG для Android реализует следующие возможности:

(1) Подключение к серверу (2) Текстовый чат, эмодзи, изображения, уведомления о сообщениях (3) Список друзей (4) Отображение состояния онлайн друзей (5) Передача файлов

Примечание: Этот демонстрационный пример для Android является начальным уровнем сложности и предназначен для демонстрации базового функционала, связывающегося с версией для ПК. Для использования исходного кода версии GG для Android в реальных проектах рекомендуется его переделать или ждать более полной версии! *

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/gsbhz-GG.git
git@api.gitlife.ru:oschina-mirror/gsbhz-GG.git
oschina-mirror
gsbhz-GG
gsbhz-GG
master