博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
花几分钟用Socket.io写一个简单的你画我猜小应用
阅读量:6313 次
发布时间:2019-06-22

本文共 2323 字,大约阅读时间需要 7 分钟。

socket.io 是一个为nodejs开发的socket通讯用的lib

要使用 socket.io , 首先要安装nodejs , mac下面我直接用brew安装了(或者ports 以及 源码编译):

brew install nodejs

安装好了之后 , 我们需要安装一下express, express提供一点基础工具来开发一个页面:

sudo npm install --save express

安装完成能看到提醒 没有安装好的话 会出现一堆ERROR , 一般是目录写入权限问题 , 别忘了 sudo 。

有了express之后 先写一个基本页面: ( index.js )

var express = require('express');var app = require('express')();var http = require('http').Server(app);var io = require('socket.io')(http);app.use(express.static(__dirname + '/app'));app.use('/bower_components', express.static(__dirname + '/bower_components'));app.get('/' , function(req , res){    res.sendFile(__dirname + '/index.html');});

这里我用了 bower来安装页面需要用到的jquery bootstrap , 由于静态文件目录解析的需要 所以加了

app.use(express.static(__dirname + '/app'));app.use('/bower_components', express.static(__dirname + '/bower_components'));

这行代码。

接下来我要要创建 模板文件: (index.html)

这个之前我们要用bower安装前端模板需要的js库
raphael raphael.sketchpad jquery json2

bower install http://libs.baidu.com/jquery/1.8.3/jquery.jsbower install http://github.com/DmitryBaranovskiy/raphael/raw/master/raphael-min.jsbower install http://ianli.com/sketchpad/javascripts/raphael.sketchpad.jsbower install bootstrapbower install git@github.com:douglascrockford/JSON-js.git

如果你还没安装bower 那就赶紧装一个吧(不用bower不要意思说自己做web开发的):

sudo npm install -g bower

然后就是index.html模板的内容:

    Socket.IO chat    

这是客户端的操作 , 已经完成了 , 可以发送数据 , 可以接收数据 。

服务端我们需要一个类似的操作 , 即接收客户端emit来的数据 然后用相同的方法发送到所有的客户端:

io.on('connection' , function(socket){    //接收然后再发送    socket.on('drawing' , function(data){        io.emit('drawing_back' , data);    });});

这个操作跟客户端的差不多

完整的index.js :

var express = require('express');var app = require('express')();var http = require('http').Server(app);var io = require('socket.io')(http);app.use(express.static(__dirname + '/app'));app.use('/bower_components', express.static(__dirname + '/bower_components'));app.get('/' , function(req , res){    res.sendFile(__dirname + '/index.html');});io.on('connection' , function(socket){    socket.on('drawing' , function(data){        io.emit('drawing_back' , data);    });});http.listen('12138' , function(){    console.log('server start at :12138');});

然后启动:

node index.js//或者用forever 安装方法 sudo npm install foreverforever start index.js

就可以看到效果了

转载地址:http://zxexa.baihongyu.com/

你可能感兴趣的文章
第八章 进程间通信
查看>>
「镁客早报」AI可预测心脏病人死亡时间;机器人开始在美国送外卖
查看>>
MoQ(基于.net3.5,c#3.0的mock框架)简单介绍
查看>>
物联网全面升级,十年内推动工业进入智能化新阶段
查看>>
spring-通过ListFactory注入List
查看>>
一种基于SDR实现的被动GSM嗅探
查看>>
阿里云ECS每天一件事D1:配置SSH
查看>>
SQL Server 性能调优(性能基线)
查看>>
uva 10801 - Lift Hopping(最短路Dijkstra)
查看>>
[Java Web]servlet/filter/listener/interceptor区别与联系
查看>>
POJ 2312Battle City(BFS-priority_queue 或者是建图spfa)
查看>>
从零开始学MVC3——创建项目
查看>>
CentOS 7 巨大变动之 firewalld 取代 iptables
查看>>
延时任务和定时任务
查看>>
linux下的权限问题
查看>>
教你如何使用Flutter和原生App混合开发
查看>>
Spring Boot 整合redis
查看>>
CSS hover改变背景图片过渡动画生硬
查看>>
JDBC(三)数据库连接和数据增删改查
查看>>
淘宝应对"双11"的技术架构分析
查看>>