如何创建sockjs(sockjs-WebSocket仿真)或Shoe独立服务器(node.js)?
有人知道如何创建SockJS-WebSocket仿真或独立服务器吗 是否可以在没有http服务器的情况下装箱 只需要与dnode交换数据,不需要静态页面 例如,当我在节点服务器端执行以下操作时:如何创建sockjs(sockjs-WebSocket仿真)或Shoe独立服务器(node.js)?,node.js,sockjs,dnode,Node.js,Sockjs,Dnode,有人知道如何创建SockJS-WebSocket仿真或独立服务器吗 是否可以在没有http服务器的情况下装箱 只需要与dnode交换数据,不需要静态页面 例如,当我在节点服务器端执行以下操作时: var shoe = require('shoe'); var dnode = require('dnode'); var http = require('http'); var server = http .createServer() .listen(9999); var ec
var shoe = require('shoe');
var dnode = require('dnode');
var http = require('http');
var server = http
.createServer()
.listen(9999);
var echo = shoe
.createServer()
.on('connection', function(c)
{
var d = dnode(
{
test: function()
{
console.log('--------');
}
});
c
.on('data', function(message)
{
c.write(message);
})
.on('close', function() {});
c
.pipe(d)
.pipe(c);
c.on('close', function() {});
})
.installHandlers(server,
{
prefix: '/dnode'
});
下面的codeClient端
var d = dnode()
.on('remote', function(remote)
{
remote.test();
});
d
.pipe(shoe('http://localhost/dnode'))
.pipe(d);
失败,出现以下错误:Chrome
GET http://localhost/dnode/info app.bundle.js:14681
AbstractXHRObject._start app.bundle.js:14681
(anonymous function)
找不到袜子或鞋子的方法,所以我换了 下面是一个工作代码: 节点服务器 浏览器客户端
'use strict';
var ws = require('ws');
var websocketStream = require('websocket-stream');
var dnode = require('dnode');
var http = require('http');
var HTTPserver = http
.createServer()
.listen(9999);
var WSserver = new ws.Server(
{
server: HTTPserver
});
WSserver
.on('connection', function(s)
{
var c = websocketStream(s);
var d = dnode(
{
test: function(f)
{
console.log('--------');
f('hello');
}
});
c
.pipe(d)
.pipe(c);
});
'use strict';
var websocketStream = require('websocket-stream');
var dnode = require('dnode');
var c = websocketStream('ws://localhost:9999');
var d = dnode()
.on('remote', function(remote)
{
remote.test(function(msg)
{
alert(msg);
});
});
c
.pipe(d)
.pipe(c);