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了。
相关推荐
通过这些库,Android应用可以直接与运行在Node.js上的Socket.IO服务器进行交互,实现数据的实时推送和接收。 使用Socket.IO进行实时通信的基本步骤如下: 1. **服务器端设置**:在Node.js项目中,导入`socket.io`...
Socket.IO的目标是提供一个跨平台、跨浏览器的实时通信解决方案,通过透明地在各种传输协议之间切换,确保在任何情况下都能实现可靠的数据传输。 socket.io.js是Socket.IO库的核心JavaScript文件,它包含了Socket....
在客户端,使用 Socket.IO.min.js 可以轻松地建立 WebSocket 连接,并进行实时数据传输。 应用场景: Socket.IO 在以下场景中特别有用: 实时通信应用程序: 如聊天应用、在线游戏、协作工具等,需要即时更新和...
4. **消息分帧**:Socket.IO将数据分帧编码,以适应不同的传输方式,并且支持自定义事件和数据包类型,增强了通信的灵活性。 5. **频道和房间**:客户端可以加入频道或房间,实现多用户间的群组通信。这在构建聊天...
Socket.IO 是一个流行的实时应用程序框架,它提供了一种简单的方式来处理浏览器和服务器之间的双向通信。然而,微信小程序并不直接支持原生的Socket.IO库,因为它的运行环境与常规的Web环境有所不同。因此,我们需要...
Socket.IO 是一个实时应用程序框架,它允许开发者在客户端和服务器之间建立双向通信,实现低延迟的数据传输。这个名为"socket.io-mp-client-master.zip"的压缩包包含了专门为微信小程序和支付宝小程序设计的Socket....
基于 WebSocket 协议,Socket.IO 提供了更高级别的接口,能够处理各种网络条件下的连接问题,确保数据的可靠传输。在这个“基于socket.io聊天室功能”的项目中,我们将探讨如何使用 Socket.IO 构建一个简单的聊天室...
该项目是Socket.IO服务器的开源 Java 实现。基于Netty服务器框架。 根据 Apache License 2.0 获得许可。 支持1.x - 4.x版本的Socket.IO 客户端 支持 xhr 轮询传输 支持websocket传输 支持命名空间和房间 支持ack...
标题中的“flask+socket.io 实时dashboard 可接stormMqtt”揭示了这个项目是用Python构建的一个实时数据可视化 dashboard,它结合了Flask框架、Socket.IO库以及与Storm MQTT的集成。让我们深入探讨这些关键组件及其...
在iOS开发中,为了实现WebSocket功能,开发者通常会选用socket.io库,因为它不仅支持WebSocket,还提供了对多种其他传输方式的兼容性,如HTTP长轮询、xhr-polling等,确保在不同环境下都能正常工作。 本文将深入...
《Socket.IO实时Web应用开发》这本书是Rohit Rai所著,详细介绍了如何使用Socket.IO这一强大的库来构建现代实时Web应用程序。Socket.IO是一个用于实时、双向和基于事件的通信的库,它主要基于Node.js,同时支持...
Socket.IO 是一个实时应用框架,它为开发人员提供了一种简单的方式来实现在Web上进行双向通信,即服务器和客户端之间的实时、低延迟的数据传输。在Java环境中,我们可以使用Socket.IO的Java客户端库来构建这样的应用...
Socket.IO 是一个实时应用框架,它为开发人员提供了一种简单的方式来实现实时、双向通信。这个框架在Web上广泛使用,特别是在构建实时聊天、协作工具或者任何需要实时数据交换的应用场景。WebSocket协议是实现此类...
Socket.IO 是一个实时应用框架,它为开发人员提供了一种简单的方式来实现实时、双向通信。这个框架在浏览器和服务器之间构建了一座桥梁,使得数据能够实时、可靠地传输。Socket.IO 支持多种传输机制,包括 WebSocket...
2. Socket.IO的核心概念:Socket.IO不仅仅是一个WebSocket库,它还提供了许多附加功能,如自动重连、错误检测、事件驱动的API以及多种传输协议的支持。它会根据浏览器和服务器的兼容性选择最佳的通信方式,从而简化...
1. **实时性**:Socket.IO提供实时通信能力,无论用户是在线还是离线,都能确保消息的可靠传输。 2. **自动重连**:当网络不稳定导致连接断开时,Socket.IO会尝试自动重新建立连接。 3. **多协议支持**:在WebSocket...
Socket.IO不仅仅是一个WebSocket库,它还提供了多种备选的传输方式,包括polling、long-polling等,这些方式能够在不支持WebSocket的环境下保证通信的可靠性。 "socket.io.js"是Socket.IO的客户端库,它负责在用户...
3. **数据传输**:通过提供类似Socket.IO的API,开发者可以在Flex应用中发送和接收JSON格式的数据,简化了数据交换的处理。 4. **故障恢复**:FlashSocket.IO具备自动重连机制,当网络连接中断后,它可以尝试重新...
Socket.IO API 提供了多种传输机制,以确保数据在客户端(通常是浏览器)和服务器之间可靠地传递。 1. **Socket对象** Socket.IO 的核心是 `Socket` 对象,它是客户端与服务器之间的主要交互点。`Socket` 提供了...
Java Socket.IO 0.8.3 是一个针对Java平台的实时通信库,它基于WebSocket协议,同时也支持多种其他传输方式,以确保数据在客户端和服务器之间的无缝交互。这个版本是通过Maven管理的,这意味着它可以方便地与其他...