之前一直用socket.io实现客户端,和服务端之间的交互,最近需要把一个node服务获取到的数据传到另一个node服务上,但是又不能依靠前端。所以我试着把发送数据的服务作为前端来和接受数据的服务做交互,没想到居然可以实现,下面是我的代码,仅供参考:
作为前端的服务:
var io = require('socket.io-client'); var socket= io.connect('http://localhost:0000'); socket.emit('a',{a:'1'})
作为后端的服务:
var express = require('express'); var app = express(); var server = require('http').Server(app); var io = require('socket.io')(server); io.on('connection', function (socket) { socket.on('a', function (data) { console.log(data) },function(error){ console.log(error) }); }); server.listen(0000);
这两者的不同就在于require的IO不同,一个用到的是socket.io-client,一个用服务端的socket.io。
下面我总结了一些socket的方法:
1.在一个服务端接收多个客户端时,客户端可以加上特有的参数query传给服务端来识别唯一的客户端:
var socket= io.connect('http://localhost:0000',{query:"data=a"})//客户端 socket.emit('a')
io.on('connection', function (socket) { var data = socket.handshake.query.data//这里data的值就是a socket.on(''+data,function(results){ console.log(results) }) }) //服务端
2.当客户端socket.disconnect()时,服务端:
io.on('connection', function (socket) { socket.on('disconnect', function () { console.log( socket.handshake.query.data)//这里可以监听到的关闭的客户端 }) })
相关推荐
Socket是网络编程的基础组件,用于在网络中的两个程序之间提供通信。本篇将详细讲解如何使用C#封装一个Socket连接类,以简化开发过程。 首先,我们需要理解Socket的基本概念。Socket在C#中被表示为`System.Net....
C# Socket通信(winform) 异步发送消息,服务端客户端通信,可以发送消息和文件并进行接收,代码注释详细 C# Socket通信(winform) 异步发送消息,服务端客户端通信,可以发送消息和文件并进行接收,代码注释详细 ...
WebSocket与protobuf(Protocol Buffers)的结合则进一步提高了数据传输的效率和性能。protobuf是Google推出的一种高效的数据序列化协议,它能将结构化数据序列化为二进制流,相比JSON或XML,protobuf更紧凑、解析...
Flex与Socket之间的通信是Web应用中一种常见的实时数据交互方式,尤其在开发在线聊天功能时。Flex是一款基于Adobe Flash Player的开发框架,用于构建富互联网应用程序(RIA)。Socket,也称为套接字,是网络编程中的...
《后端必备+服务器网络编程指南》是一本针对后端工程师深入学习服务器网络编程和性能调优的专业书籍。它涵盖了从基础知识到高级实践的广泛内容,旨在帮助读者全面提升在这一领域的技能。 首先,我们来探讨“后端”...
本压缩包"前后端socket通信.zip"聚焦于利用Socket.IO库来实现Vue.js(前端)与Node.js(后端)之间的实时双向通信。以下是关于这一主题的详细知识: 1. **WebSocket协议**:WebSocket是一种在客户端和服务器之间...
该压缩包文件“基于QT与Socket套接字的邮件系统实现实现前端界面后端数据库以及Csocket套接字实现通信源码.zip”提供了一个完整的邮件系统的开发实例,主要涉及了以下几个关键知识点: 1. **QT框架**:QT是一个跨...
- **Web Socket**:WebSocket 协议提供了一种在客户端和服务器之间进行双向实时通信的方式,非常适合实时数据传输的应用场景。 - **OpenStack**:OpenStack 是一个开源平台,用于构建和管理云基础设施。它提供了多种...
无人机后端与无人机之间需要通过网络进行通信,因此理解TCP/IP协议栈、HTTP/HTTPS协议以及Socket编程至关重要。Java的`java.net`和`java.nio`包提供了丰富的网络编程接口。 3. **实时性与并发处理** 无人机系统...
WebSocket是一种在客户端和服务器之间建立持久性连接的技术,允许双方进行双向通信,非常适合用于实现聊天室这样的实时交互应用。 【描述】提到"实用html5的web socket的java版实时聊天室 代码完全",意味着这个...
这个名为"socket.io.zip"的压缩包包含了核心库"socket.io.js",这是一个JavaScript库,用于在前端与后端之间建立双向通信通道,实现即时通信功能。在这里,后端是基于Netty-socket-io构建的,Netty是一个高性能、...
- **动态链接与静态链接**:理解两者之间的区别。 - **32位系统下的堆内存限制**:大约为4GB。 - **多线程与多进程的区别**:重点在于它们在资源分配、上下文切换等方面的差异。 - **编写C程序以区分64位与32位系统*...
3. **Socket.IO**:Socket.IO是一个实时应用框架,能够在Web客户端(浏览器)和服务器之间建立双向、实时的通信渠道。在E聊SDK中,Socket.IO被用于实现实时通信功能,确保消息能够即时地在用户之间传递,提升用户...
WebSocket是一种在客户端和服务器之间建立长连接的协议,而Socket.IO是基于WebSocket构建的库,它提供了额外的功能和错误处理,使得实时应用的开发更为简单。下面将详细讨论这两个技术以及它们在实际应用中的使用。 ...
本话题主要涉及如何通过Java后端与Flash前端之间的socket通信来实现动态加载并播放SWF(ShockWave Flash)文件,以此来避免IE浏览器对SWF文件的缓存。下面我们将深入探讨这个技术点。 首先,让我们理解SWF文件。SWF...
总的来说,"socket.io.rar"中的"socket.io.js"是一个强大的实时通信库,它简化了前端与后端之间的双向通信,尤其适合构建需要实时交互的应用,并且提供了SSL支持以确保数据安全,同时还能很好地适应包括微信在内的...
移动应用(App)客户端与后端服务器之间的通信是现代网络应用中的核心部分。通信方式主要分为两大类:短连接和长连接。 - **短连接**:通常使用HTTP协议进行通信。由于短连接不需要保持持续的连接状态,因此适用于...
在Android开发中,构建一个能够将数据实时流式传输到后端的服务对于许多现代应用程序至关重要。这个名为"Dashboard-Android"的项目显然专注于实现这样的功能,主要使用Java编程语言。以下是一些关于如何在Android...
2. **Socket.IO**: Socket.IO 是一个实时应用库,支持WebSocket和其他降级技术,确保在客户端和服务器之间实现实时、双向通信。在本项目中,Socket.IO用于建立持久连接,使得dashboard可以实时接收并更新来自MQTT...
4. **协议解析**:网关不仅负责数据传输,还可能需要对数据进行解码和编码,以便与不同的后端服务进行交互。这可能涉及到HTTP、WebSocket、TCP自定义协议等的解析。 5. **负载均衡与路由**:根据业务需求,Socket...