socket.io的一个很好的作用就是它的实时传输,在聊天方面起到了很大的作用。下面我就和大家分享一下socket.io的使用方法。
首先你要有一个nodejs环境,然后用npm装一个express项目框架。在项目node项目里面用npm装一下socket.io:
npm install --save socket.io;
var http = require('http').Server(app) var io = require('socket.io')(http)
这时候,如果前端有数据通过socket.emit传过来数据之后,socket.on就可以接收到数据,下面我们来写前端如何传输数据。
首先在<script>标签里引入后端传过来的socket。
<script src="http://192.168.1.00:3000/socket.io/socket.io.js"></script> <script> var socket = io(http://192.168.1.00:3000); socket.on('starmap',function(data){ console.log(data) })
</script>
里面的ip是你自己启动的后端服务。这时你的前端就可以用socket了。
然后转到后端,我们要把前端html的路由引导后端路由中。
首先在app.set()下面添加一条:
app.use("/",express.static('public')); app.get('/', function(req, res){ res.redirect('/index.html'); });//这段代码要在app.use()后面,要注意顺序。 //这段的意思就是在进服务器的主页的时候,它自动跳转到public里面前端的页面, 这样就是可以实现前后端分离。
然后接收前端的socket:
io.on('connection', function (socket) { socket.emit('starmap', gTestData()); });//emit中有两个参数,第一个是和前端对应的,互相对应传输数据的名字。第二个是传输的数据
之后添加一条socket的端口:
http.listen(3000);
这里我就要和大家分享一下我碰到的问题。之前我说过了,这是在一个项目框架里面搭建的socket,所以就会出现一个问题:项目是自带端口的,所以你如果在设置socket端口时就会冲突。这时你可以把项目www文件夹下面的bin文件里面设置端口的方法注释或者删掉就ok了。
相关推荐
该项目是Socket.IO服务器的开源 Java 实现。基于Netty服务器框架。 根据 Apache License 2.0 获得许可。 支持1.x - 4.x版本的Socket.IO 客户端 支持 xhr 轮询传输 支持websocket传输 支持命名空间和房间 支持ack...
engine.io是一个socket.io的抽象实现,作为socket.io的服务器和浏览器之间交换的数据的传输层。它不会取代Socket.IO,它只是抽象出固有的复杂性,支持多种浏览器,设备和网络的实时数据交换。 标签:engine
socket.io-串行使用 socket.io 作为传输的虚拟实现。安装 npm install socket.io-serial套接字串行端口使用 socket.io 向远程物理设备发送/接收数据: var SocketSerialPort = require ( 'socket.io-serial' ) . ...
最近公司的一个vue项目用到了vue-socket.io来处理socket数据传输,之前用过socket.io-client,现在知道vue-socket.io是基于socket.io-client的一层封装,将socket挂于全局从而更方便的书写。 于是把代码拉取下来运行...
仿映客直播app(最新)原版礼物列表,直播弹幕,最新热门页面,原版动画登陆页,实现了oc项目使用Socket.IO-Client-Swift 绑定后台node服务器实现实时聊天功能 软件开发设计:应用软件开发、系统软件开发、移动应用...
该项目是Socket.IO服务器的开源 Java 实现。基于Netty服务器框架。 根据 Apache License 2.0 获得许可。 特征 支持1.x - 4.x版本的Socket.IO 客户端 支持 xhr 轮询传输 支持websocket传输 支持命名空间和房间 支持...
输出缓冲区- 在传输仍在连接时发送数据。 没问题,socket.io-java-client 处理。 有意义的异常- 如果出现问题,SocketIO 会尝试抛出有意义的异常并提供修复提示。 状态:与 Websocket 连接已准备就绪。 XHR 处于...
最近,不建议使用FileReader.readAsBinaryString(),因此我更新了Socket.io文件,以使用ArrayBuffer(对象直接从JavaScript处理二进制数据)而不是二进制字符串。 另外,较新的版本具有更多功能,例如服务器端...
QtSocketIo socket.io implementation in Qt forked from KurtPattyn/QtSocketIo 修复相关的BUG 增加JSON数据传输 增加多协议传输抽象接口 增加XHRPolling和WebSocket传输支持
CaroH_Server-socket.io 我的CaroH游戏项目的服务器源代码。 使用Socket.IO传输数据
要使用socket.io发送/接收数据与设备或,低于一饮而尽任务运行他们像: gulp build 您将在build文件夹中找到浏览器化的脚本 正在运行的服务器 node server.js 可以帮助您入门,服务器默认在端口3000上进行侦听。 ...
二进制流传输:从1.0版本开始,Socket.IO支持任何形式的二进制文件传输,例如:图片,视频,音频等。 文档合并:允许多个用户同时编辑一个文档,并且能够看到每个用户做出的修改。 服务端与客户端连接 socket.io...
mogongdb,socket.io 进行开发,整合系统配置(用户,角色,菜单权限,大屏权限),结合数据源配置(数据库连接,api 连接,excel 导入),指标通过连接数据库,输入现成sql 语句,或者api,或者excel产生指标数据....
Backbones Collection 的 Sync 方法的替代品,它使用 socket.io 和 socket.io-streaming 将数据从获取请求流式传输到集合。 执行 fetch 将返回一个 jQuery 承诺,该承诺在每个新模型从服务器流式传输时报告进度...
针对数据传输大小进行了优化,程序包以高速率压缩。 适用于HTML5在线游戏,尤其是移动平台。 具有出色的浏览器兼容性,该软件包位于json中。 它适用于浏览器上的在线实时应用程序,例如聊天,而浏览器的兼容性是一...
前言 Web端与服务器间的实时数据传输的是一个很重要的需求,但最早只能通过AJAX轮询询实现。...socket.io将数据传输部分独立出来形成了engine.io , engine.io对WebSocket和AJAX轮询进行封装,形成一套
在这个项目中,我尝试构建一个React应用程序,该应用程序可以使用Socket.io从实时流(大概是传感器)中流式传输数据,并使用D3.js可视化时间线图中的读数 为了模拟传感器,我创建使用Express.js旋转的通过JSON文件,...
烧瓶socketio视频流 这是尝试使用 getUserMedia() 捕获视频流,使用 websockets 将其发送到服务器,然后在视频控件中播放。 它几乎不起作用,帧速率非常慢。 试试看: virtualenv env --no-site-packages ...
繁重的数学运算在服务器端进行处理,然后通过Socket.io(建立在WebSockets之上的抽象层)发送回客户端。 由于延迟,必须解决另一种解决方案。 一些想法:a)实现node-canvas npm包,以在服务器上完成所有画布操作的...
可以在找到有关Socket.IO流的常规文档。 实时得分 因此,HLTV使用来传输从Valve和ESL获得的数据(我认为呢?)。 该数据被推送到套接字上。 有关服务器信息,请参见 。 实际上,我真的(真的)很难找到有关此套接字...