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

OSCHINA-MIRROR/andot-hprose-nodejs

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

Hprose для Node.js

Hprose

Promises/A+ logo

Hprose for Node.js

Join the chat at https://gitter.im/hprose/hprose-nodejs npm download optionalDependency Status npm version License



Введение

Hprose — это высокопроизводительный движок удалённого взаимодействия объектов.

Это современное, лёгкое, кросс-языковое, кроссплатформенное, объектно-ориентированное, высокопроизводительное, удалённое динамическое коммуникационное промежуточное ПО. Оно не только простое в использовании, но и мощное. Вам потребуется немного времени на изучение, после чего вы сможете использовать его для простого создания распределённых систем кросс-языкового кросс-платформенного взаимодействия.

Hprose поддерживает множество языков программирования, например:

  • AAuto Quicker
  • ActionScript
  • ASP
  • C++
  • Dart
  • Delphi/Free Pascal
  • dotNET (C#, Visual Basic...)
  • Golang
  • Java
  • JavaScript
  • Node.js
  • Objective-C
  • Perl
  • PHP
  • Python
  • Ruby
  • ...

С помощью Hprose вы можете удобно и эффективно взаимодействовать между этими языками программирования.

Этот проект представляет собой реализацию Hprose для Node.js.

Документы Hprose 2.0 для Node.js (на китайском языке): https://github.com/hprose/hprose-nodejs/wiki

Использование

Http-сервер

Синхронные функции или методы

Использовать Hprose для Node.js очень просто. Вы можете создать сервер hprose, как показано ниже:

var hprose = require("hprose");
function hello(name) {
    return "Hello " + name + "!";
}
var server = hprose.Server.create("http://0.0.0.0:8080");
server.addFunction(hello);
server.start();

Для запуска используйте:

node --harmony server.js

--harmony — это опция v8, hprose использует её для оптимизации сериализации. Это необязательная опция, но рекомендуется её использовать.

Асинхронные функции или методы

На самом деле большинство методов сервисов nodejs асинхронны, вы можете опубликовать асинхронную функцию следующим образом:

var hprose = require("hprose");
function hello(name, callback) {
    setTimeout(function() {
        callback("Hello " + name + "!");
    }, 10);
}
var server = hprose.Server.create("http://0.0.0.0:8080");
server.addAsyncFunction(hello);
server.start();

Клиент Http

Затем вы можете создать клиент hprose, чтобы вызвать его следующим образом:

var hprose = require("hprose");
var client = hprose.Client.create("http://127.0.0.1:8080/");
var proxy = client.useService();
proxy.hello("world", function(result) {
    console.log(result);
});

Чтобы запустить его, используйте:

node --harmony client.js

или

node --harmony-proxies client.js

Без --harmony-proxies вам нужно создать прокси следующим образом:

var hprose = require("hprose");
var client = hprose.Client.create("http://127.0.0.1:8080/");
var proxy = client.useService(["hello"]);
proxy.hello("world", function(result) {
    console.log(result);
});

Или создайте клиент... #### Обработка исключений

Если на сервере произошла ошибка или ваша служебная функция/метод генерирует исключение, оно будет отправлено клиенту. Вам необходимо передать функцию обратного вызова для обработки ошибок после функции обратного вызова успеха, чтобы получить его. Если вы опустите эту функцию обратного вызова, клиент проигнорирует исключение, как будто ничего не произошло.

Например:

proxy.hello("world", function(result) {
    console.log(result);
}, function(name, err) {
    console.error(err);
});

Tcp-сервер и клиент

Tcp-сервер и клиент используются так же, как Http-сервер и клиент.

Чтобы создать Tcp-сервер:

var server = hprose.Server.create("tcp://0.0.0.0:4321");

Чтобы создать Tcp-клиент:

var client = hprose.Client.create('tcp://127.0.0.1:4321');

Unix-сокет сервер и клиент

Unix-сокет-сервер и клиент используются так же, как и Http-сервер и клиент.

Чтобы создать Unix-сокет-сервер:

var server = hprose.Server.create("unix:/tmp/my.sock");

Чтобы создать Unix-сокет-клиент:

var client = hprose.Client.create('unix:/tmp/my.sock');

WebSocket-сервер и клиент

WebSocket-сервер и клиент используются так же, как и Http-сервер и клиент.

Чтобы создать WebSocket-сервер:

var server = hprose.Server.create("ws://0.0.0.0:8080/");

Чтобы создать WebSocket-клиент:

var client = hprose.Client.create('ws://0.0.0.0:8080/');

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

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

Введение

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

Обновления

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

Участники

все

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

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