直接使用Socket.io官网上面的demo,代码是直接复制的,所用到的express,socket.io都已经安装,可client端不能将消息广播到server端,不知道是什么原因?server:varapp=require("http").createServer(handler);vario=require("socket.io")(app);varfs=require("fs");app.listen(8000);functionhandler(req,res){fs.readFile('index.html',function(err,data){if(err){res.writeHead(500);returnres.end('Errorloadingindex.html')}res.writeHead(200);res.end(data);});}//console.log('io',io);io.on('connection',function(socket){socket.emit('broadcastnews',{hello:'world'});//广播消息socket.on('listenclient',function(data){console.log("ccc",data);console.log("clientmessages",data);})//监听所有的客户端发来的消息})client:Socket.iosocket.iovarsocket=io('http://localhost');socket.on('news',function(data){console.log(data);socket.emit('myotherevent',{my:'data'});});
2 回答
慕桂英546537
TA贡献1848条经验 获得超10个赞
1.在客户端连接中,如楼上所说,你的客户端连接端口没有设置,当然连接不到服务2.你的服务端socket发送的事件是'broadcastnews'监听的是'listenclient'io.on('connection',function(socket){socket.emit('broadcastnews',{hello:'world'});//广播消息socket.on('listenclient',function(data){console.log("ccc",data);console.log("clientmessages",data);})//监听所有的客户端发来的消息})而客户端监听的事件是'news'发送的是'myotherevent'...你告诉我该怎么监听好吧!varsocket=io();socket.on('news',function(data){console.log(data);socket.emit('myotherevent',{my:'data'});});官网文档明明给出的代码是:io.on('connection',function(socket){socket.emit('news',{hello:'world'});socket.on('myotherevent',function(data){console.log(data);});}); 监听和发布都对不上...怎么会有处理?
杨魅力
TA贡献1811条经验 获得超6个赞
varsocket=io('http://localhost');改成varsocket=io('http://localhost:8000');客户端端口应根据服务器的端口设置,保持一致
添加回答
举报
0/150
提交
取消