`
田进丰
  • 浏览: 35387 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

socket.io实时传输数据

 
阅读更多

   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,socket.io-client下载

    通过这些库,Android应用可以直接与运行在Node.js上的Socket.IO服务器进行交互,实现数据的实时推送和接收。 使用Socket.IO进行实时通信的基本步骤如下: 1. **服务器端设置**:在Node.js项目中,导入`socket.io`...

    socket.io.js下载

    Socket.IO的目标是提供一个跨平台、跨浏览器的实时通信解决方案,通过透明地在各种传输协议之间切换,确保在任何情况下都能实现可靠的数据传输。 socket.io.js是Socket.IO库的核心JavaScript文件,它包含了Socket....

    Socket.IO.min.js

    在客户端,使用 Socket.IO.min.js 可以轻松地建立 WebSocket 连接,并进行实时数据传输。 应用场景: Socket.IO 在以下场景中特别有用: 实时通信应用程序: 如聊天应用、在线游戏、协作工具等,需要即时更新和...

    swift-socket.io-client-swiftSocket.IO客户端

    4. **消息分帧**:Socket.IO将数据分帧编码,以适应不同的传输方式,并且支持自定义事件和数据包类型,增强了通信的灵活性。 5. **频道和房间**:客户端可以加入频道或房间,实现多用户间的群组通信。这在构建聊天...

    weapp.socket.io.js.zip

    Socket.IO 是一个流行的实时应用程序框架,它提供了一种简单的方式来处理浏览器和服务器之间的双向通信。然而,微信小程序并不直接支持原生的Socket.IO库,因为它的运行环境与常规的Web环境有所不同。因此,我们需要...

    微信小程序socket.io客户端, 支持微信小程序、支付宝小程序socket.io-mp-client-master.zip

    Socket.IO 是一个实时应用程序框架,它允许开发者在客户端和服务器之间建立双向通信,实现低延迟的数据传输。这个名为"socket.io-mp-client-master.zip"的压缩包包含了专门为微信小程序和支付宝小程序设计的Socket....

    基于socket.io聊天室功能

    基于 WebSocket 协议,Socket.IO 提供了更高级别的接口,能够处理各种网络条件下的连接问题,确保数据的可靠传输。在这个“基于socket.io聊天室功能”的项目中,我们将探讨如何使用 Socket.IO 构建一个简单的聊天室...

    在 Java 上实现的 Socket.IO 服务器 实时java框架

    该项目是Socket.IO服务器的开源 Java 实现。基于Netty服务器框架。 根据 Apache License 2.0 获得许可。 支持1.x - 4.x版本的Socket.IO 客户端 支持 xhr 轮询传输 支持websocket传输 支持命名空间和房间 支持ack...

    flask+socket.io 实时dashboard 可接stormMqtt

    标题中的“flask+socket.io 实时dashboard 可接stormMqtt”揭示了这个项目是用Python构建的一个实时数据可视化 dashboard,它结合了Flask框架、Socket.IO库以及与Storm MQTT的集成。让我们深入探讨这些关键组件及其...

    socket.io iOS Demo(含cookie及query参数配置)

    在iOS开发中,为了实现WebSocket功能,开发者通常会选用socket.io库,因为它不仅支持WebSocket,还提供了对多种其他传输方式的兼容性,如HTTP长轮询、xhr-polling等,确保在不同环境下都能正常工作。 本文将深入...

    Socket.IO Real-time Web Application Development

    《Socket.IO实时Web应用开发》这本书是Rohit Rai所著,详细介绍了如何使用Socket.IO这一强大的库来构建现代实时Web应用程序。Socket.IO是一个用于实时、双向和基于事件的通信的库,它主要基于Node.js,同时支持...

    Socket.IO demo程序

    Socket.IO 是一个实时应用框架,它为开发人员提供了一种简单的方式来实现在Web上进行双向通信,即服务器和客户端之间的实时、低延迟的数据传输。在Java环境中,我们可以使用Socket.IO的Java客户端库来构建这样的应用...

    socket.io的demo

    Socket.IO 是一个实时应用框架,它为开发人员提供了一种简单的方式来实现实时、双向通信。这个框架在Web上广泛使用,特别是在构建实时聊天、协作工具或者任何需要实时数据交换的应用场景。WebSocket协议是实现此类...

    socket.io-server-cpp.tar.gz

    Socket.IO 是一个实时应用框架,它为开发人员提供了一种简单的方式来实现实时、双向通信。这个框架在浏览器和服务器之间构建了一座桥梁,使得数据能够实时、可靠地传输。Socket.IO 支持多种传输机制,包括 WebSocket...

    socket.io.js

    2. Socket.IO的核心概念:Socket.IO不仅仅是一个WebSocket库,它还提供了许多附加功能,如自动重连、错误检测、事件驱动的API以及多种传输协议的支持。它会根据浏览器和服务器的兼容性选择最佳的通信方式,从而简化...

    Node.js-使用socket.ionode.js实现的一个简单的点对点以及点对多的聊天室

    1. **实时性**:Socket.IO提供实时通信能力,无论用户是在线还是离线,都能确保消息的可靠传输。 2. **自动重连**:当网络不稳定导致连接断开时,Socket.IO会尝试自动重新建立连接。 3. **多协议支持**:在WebSocket...

    socket.io.zip

    Socket.IO不仅仅是一个WebSocket库,它还提供了多种备选的传输方式,包括polling、long-polling等,这些方式能够在不支持WebSocket的环境下保证通信的可靠性。 "socket.io.js"是Socket.IO的客户端库,它负责在用户...

    FlashSocket.IO-0.7.x.zip

    3. **数据传输**:通过提供类似Socket.IO的API,开发者可以在Flex应用中发送和接收JSON格式的数据,简化了数据交换的处理。 4. **故障恢复**:FlashSocket.IO具备自动重连机制,当网络连接中断后,它可以尝试重新...

    socket.io api

    Socket.IO API 提供了多种传输机制,以确保数据在客户端(通常是浏览器)和服务器之间可靠地传递。 1. **Socket对象** Socket.IO 的核心是 `Socket` 对象,它是客户端与服务器之间的主要交互点。`Socket` 提供了...

    java socket.io 0.8.3

    Java Socket.IO 0.8.3 是一个针对Java平台的实时通信库,它基于WebSocket协议,同时也支持多种其他传输方式,以确保数据在客户端和服务器之间的无缝交互。这个版本是通过Maven管理的,这意味着它可以方便地与其他...

Global site tag (gtag.js) - Google Analytics