安裝
npm i bugout
或者使用script
<script src="https://chr15m.github.io/bugout/bugout.min.js"></script>
使用
導入Bugout
var Bugout = require('bugout')
創建Bugout服務器:
// 實例化Bugout
var b = new Bugout()
// 獲取要與客戶端共享的服務器地址(公鑰哈希)
// 這是客戶端將用于連接回該服務器的內容
// 注冊遠程用戶可以進行的API調用
b.register('ping', function(address, args, callback) {
// 修改傳遞的參數并回復
args.hello = 'Hello from ' + b.address();
callback(args)
})
// 保存此服務器的會話密鑰種子以重新使用
localStorage['bugout-server-seed'] = b.seed
客戶端與服務器端鏈接
var b = new Bugout('服務器的公鑰')
// 等待,直到我們看到服務器
// (可能要花一分鐘時間才能穿過防火墻等)
b.on('server', function(address) {
// 一旦我們可以看到服務器
// 對其 進行API調用
b.rpc('ping', {'hello': 'world'}, function(result) {
console.log(result);
// {“ hello”:“ world”,“ pong”:true}
// 同時檢查result.error
});
});
// 保存此客戶端實例的會話密鑰種子以重新使用
localStorage['bugout-seed'] = JSON.stringify(b.seed);
客戶端和服務器與其他連接的客戶端進行交互
// 從服務器接收所有帶外消息
// 或其他任何連接的客戶端
b.on('message', function(address, message) {
console.log('message from', address, 'is', message);
});
// 向所有連接的客戶端廣播未加密的消息
b.send({'hello': 'all!'});
// 將加密的消息發送到特定客戶端
b.send(clientaddress, "Hello!");
// 只要我們在這個群組中看到新客戶
b.on('seen', function(address) {
// e.g. send a message to the client we've seen with this address
});
// 您也可以關閉Bugout頻道以停止接收消息等。
b.close();
補充
所有人連接共同的Bugout服務器
var b = new Bugout('特定的共享標識符')
未完待續
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。