Eam*_*orr 10 websocket node.js
我正在尝试将数据从我的浏览器(Chrome)推送到nodejs服务器,我遇到了可怕的麻烦.
基本上,我有这个代码出现在浏览器中:
<script src="./Socket.IO/socket.io.js"></script>
<script>
io.setPath('./Socket.IO/');
var socket=new io.Socket('xxx.xxx.xxx.xxx');
socket.on('connect',function(){
alert('connect');
});
socket.on('message',function(msg){
alert('message'+msg);
});
socket.on('close',function(){
alert('close');
});
socket.on('disconnect',function(){
alert('disconnect');
});
socket.connect();
</script>
Run Code Online (Sandbox Code Playgroud)
出现的唯一警报是"关闭"警报.
这是我的服务器代码:
var http=require('http');
var io=require('./Socket.IO-node');
var server=http.createServer(function(req, res){
// your normal server code
res.writeHeader(200, {'Content-Type': 'text/html'});
res.writeBody('<h1>Hello world</h1>');
res.finish();
});
var socket=io.listen(server,{transports:websocket,port:8080});
socket.on('connection',function(client){
console.log('connection');
});
Run Code Online (Sandbox Code Playgroud)
您可以看到我正在尝试将连接记录到控制台,但没有任何显示.我一直在谷歌搜索并尝试通过http://github.com/LearnBoost/Socket.IO-node上的Socket.IO示例,似乎没有什么对我有用......
任何指针都非常感谢.
编辑:嗨,
我现在有以下服务器代码:
var http=require('http');
var io=require('./Socket.IO-node');
var server=http.createServer(function(req, res){
//your normal server code
res.writeHead(200, {'Content-Type': 'text/html'});
res.write('Hello world');
res.end();
});
server.listen(8124);
server=io.listen(server);
server.on('connection', function(client){
console.log('EOH connected');
sys.log('EOH connected');
});
server.on('clientConnect',function(client){
console.log('EOH connected');
sys.log('EOH connected');
});
server.on('clientDisconnect',function(client){
console.log('EOH disconnected');
sys.log('EOH disconnected');
});
Run Code Online (Sandbox Code Playgroud)
以下客户端代码:
<script>
window.onload=function(){
io.setPath('./Socket.IO/');
socket = new io.Socket('localhost', {'port': 8124});
socket.connect();
socket.send('xxx');
}
</script>
Run Code Online (Sandbox Code Playgroud)
当我在localhost:8124加载客户端代码时,我希望触发某种"clientConnect"事件.我也在socket对象上发送数据,服务器上没有任何内容......完全难倒.现在看一下使用node-websocket-server(http://github.com/miksago/node-websocket-server).
解决方案:git clone git://github.com/LearnBoost/Socket.IO.git --recursive
使用--recursive标志.卫生署!
| 归档时间: |
|
| 查看次数: |
3403 次 |
| 最近记录: |