如何使用socket.io从客户端调用服务器端功能? [英] How to invoke server-side function from client-side using socket.io?

查看:121
本文介绍了如何使用socket.io从客户端调用服务器端功能?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用express框架。我想要调用位于server.js(使用express.js设置)的函数init(){//}

客户端包含代码

 < script src =/ socket.io/socket.io.js >< /脚本> 
< script>
var socket = io.connect('http:// localhost');
< / script>

但是我想调用 init()来自< a href ='这里是什么'>单击以在客户端的index.html上的服务器< / a> 上调用Init()。



编辑:

 < a href ='javascript:callInit();'>获取Init< / a> 

调用函数callInit()在

 < script>函数callInit(){socket.emit('init','data'); } 

但是`socket.emit('init','data');不执行。我不明白为什么?

解决方案

Client.js

 < script src =/ socket.io/socket.io.js\"></script> 
< script>
var socket = io.connect('http:// localhost');
$(#urAnchorTagId)。click(function(){
socket.emit('urEvent','urData');
});
< / script>

Server.js

 var $ app = express(); 
var server = http.createServer(app);
var io = require('socket.io')。listen(server);
server.listen(8080);
io.sockets.on('connection',function(socket){
socket.on('urEvent',function(data){
function init(){
/ / ur task

};
});
});


Using express framework. I want to invoke function init() { // } which resides in server.js (set up using express.js)

The client side includes code

<script src="/socket.io/socket.io.js"></script>
<script>
 var socket = io.connect('http://localhost');
</script>

But i want to invoke init() from <a href='WHAT TO PUT HERE'> Click to invoke Init() on server </a> on index.html on client side.

Edit:

<a href='javascript:callInit();'> Get Init </a>

calls the function callInit() above in

 <script> function callInit() {  socket.emit('init', 'data'); }

But `socket.emit('init', 'data'); does not execute. I can't understand why?

解决方案

Client.js

  <script src="/socket.io/socket.io.js"></script>
  <script>
     var socket = io.connect('http://localhost');
     $("#urAnchorTagId").click(function(){
         socket.emit('urEvent','urData');
   });
 </script>

Server.js

   var app = express();
   var server = http.createServer(app);
   var io = require('socket.io').listen(server);
   server.listen(8080);
   io.sockets.on('connection', function (socket) {
       socket.on('urEvent', function (data) {
        function init(){
             //ur task

            };
   });
 });

这篇关于如何使用socket.io从客户端调用服务器端功能?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆