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

OSCHINA-MIRROR/feimat-qiyi

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Это зеркальный репозиторий, синхронизируется ежедневно с исходного репозитория.
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Реализация RPC на NodeJS с использованием Koa, в качестве примера используется веб-чат.

Поддерживает все браузеры PC и мобильные устройства. Поддерживает внутренние webview всех приложений. Обеспечивает автоматическое восстановление соединения. Осуществляет управление пульсацией. Поддерживает двухнаправленный RPC и одностороннюю передачу данных. Поддерживает корутинные функции. Приглашаем использовать и предоставлять отчеты о багах. Группа для технического общения QQ: 339711102 Адрес проекта: https://git.oschina.net/feimat/qiyi

Инструкция по использованию:

git clone https://git.oschina.net/feimat/qiyi.git
cd qiyi/
npm install
Затем выполните команду node index.js

Доступ к веб-странице осуществляется по адресу http://localhost:3001/

Отправка запроса RPC (в этом примере показана отправка клиентом, отправка сервером см. пример):

var rpc_client = new rpcClient('http://' + host);
var data = 'hello';
rpc_client.emit('chat', data, {
    success: function(response) {
        console.log(response);
    },
    timeout_time: 4000,
    timeout_cb: function() {},
    error: function() {}
});
```Прием запроса RPC (в этом примере показана прием на стороне сервера, прием на стороне клиента см. пример):
```javascript
// next: продолжение работы Koa, личное мнение — нет необходимости его выносить
// ctx: контекст информации о сокете противоположной стороны
// message: полученное сообщение
// cb: обратный вызов функции cb(data) представляет собой возврат данных отправителю
app.io.route('chat', function*(next, ctx, message, cb) {
    cb("сервер получил " + message + " и начал отправку другим пользователям");
    var send_suc_num = 0; // количество успешных получателей сообщения
    for (var socket in all_sockets) {
        // Отправка RPC сервером клиенту
        app.emit(socket, 'chat', message, {
            "success": function(response) {
                console.log("количество успешных получателей: " + send_suc_num);
            },
            "timeout_time": 4000,
            "timeout_cb": function() {},
            "error": function() {}
        });
    }
});

Комментарии ( 0 )

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

Введение

Описание недоступно Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://gitlife.ru/oschina-mirror/feimat-qiyi.git
git@gitlife.ru:oschina-mirror/feimat-qiyi.git
oschina-mirror
feimat-qiyi
feimat-qiyi
master