socket.io建立长连接
2016-07-02 18:22
323 查看
socket.io是基于node.js,在命令行里输入npmsocket.io下载模块,用node.js搭建后台示例代码,客户端
<!DOCTYPEhtml> <htmllang="zh-CN"> <head> <metacharset="UTF-8"> <title>Node.js</title> <scripttype="text/javascript"src="/socket.io/socket.io.js"></script> </head> <body> 欢迎进入<br><br> <inputtype="button"value="向服务器发送消息"onclick="sendMyMessage()"><br> <inputtype="button"value="提醒服务器给我发送信息"onclick="sendMessage()"><br> </body> </html> <scripttype="text/javascript"> //和服务器建立长连接 varsocket=io.connect('/'); //向服务器端发送自定义消息 functionsendMyMessage(){ socket.emit('custom','我是客户端的消息'); } functionsendMessage(){ socket.emit('server','我是客户端,给我发送一个信息'); } //接收服务器推送来的消息 socket.on('system',function(data){ alert(data) }); //接收服务器推送来的消息 varnum1=0; socket.on('test1',function(data){ num1++ console.log(data+num1) }); //和服务器建立长连接 //socket.on('connect',function(){}); </script>服务器端代码
//初始化系统库(引包) varexpress=require('express'); varapp=express(); varserver=require('http').createServer(application); //引入socket.io这个包 varsocketio=require('socket.io')(server); varpath=require("path"); //加载前端文件index.html //设置静态路径 app.use(express.static(path.join(__dirname,"views"))); app.get('/index',function(request,response){ response.sendFile('./views/index.html'); }); //监听用户连接事件 socketio.on('connection',function(socket){ //设置房间,获取用户当前的url,从而截取出房间id //varurl=socket.request.headers.referer; //接收客户端发送来的消息 socket.on('custom',function(data){ console.log(data)//我是客户端自定义的消息 }); socket.on('server',function(data){ //向客户端发送消息 socket.emit('system','hello!客户端') }); }); server.listen(9004);注:服务器端和客户端都用socket.emit()发送消息;socket.on()接收消息
服务器端:socket.emit('system','hello!客户端')
客户端:socket.on('system',function(data){ alert(data) }); 这两段代码对应,服务器发送消息,客户端接说消息 关键在于system这个字符串,这个相当这段消息的名字,只能接收同一个名字的消息
相关文章推荐
- 四子连棋
- HTTP方法详解
- javah生成jni头文件时报错 Error: cannot access android.support...
- OpenGL在VS2015环境下的配置
- 克隆对象__clone()方法
- java-类库-Apache Commons补充
- ESP8266 Flash
- __toString()方法
- Java集合 asList的缺陷
- url基础知识
- 早期创业,应该充分利用互联网产品和服务(从”皇包车”看一家全球中文车导服务平台如何选用ToB产品)
- 早期创业,应该充分利用互联网产品和服务(从”皇包车”看一家全球中文车导服务平台如何选用ToB产品)
- 早期创业,应该充分利用互联网产品和服务(从”皇包车”看一家全球中文车导服务平台如何选用ToB产品)
- java-类库-Apache Commons
- RippleView水波纹,涟漪效果
- .NET—Spring.NET连接Oracle数据库异常
- final关键字的应用
- VS+mysql+EF搭建
- linux截图工具ksnapshot
- 最小生成树