`
freeman983
  • 浏览: 232221 次
社区版块
存档分类
最新评论

使用Socket.io 在跨域时遇到的坑

阅读更多
以下这些问题仅在跨域时才遇到

使用flashsocket,报错:
make sure the server is running and Flash socket policy file is correctly placed

解决方案,增加policyServer.js
var net = require('net');
var fs = require('fs');

// read crossdomain.xml file
var xmlFile = fs.readFileSync(__dirname +'/crossdomain.xml', 'utf8');

// this server runs on 843
var application = net.createServer(function(socket) {

    socket.setEncoding('utf8');

    socket.on('data', function(data) {
        try{
            socket.end(xmlFile, 'utf8');
        }catch(e){

        }
    });

    socket.on('end', function() {
        socket.end();
    });

    socket.on('error', function(err) {
        if (socket) {
            socket.end();
            socket.destroy();
        }
    });

}).listen(843);


crossdomain.xml

<?xml version="1.0" ?>
<cross-domain-policy>
    <site-control permitted-cross-domain-policies="all"/>
    <allow-access-from domain="*" to-ports="*" secure="false"/>
    <allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>


xhr-polling不支持cluster











分享到:
评论

相关推荐

    weapp.socket.io

    在微信小程序中使用"weapp.socket.io"时,需要注意的是,由于微信对网络请求的限制,可能需要配置小程序的合法域名,并确保服务器端也配置了相应的跨域设置。此外,微信小程序的生命周期管理也会影响Socket.IO连接的...

    vue-socket.io跨域问题有效解决方法

    总结,解决Vue-Socket.IO跨域问题的关键在于: 1. 开发阶段:通过Vue CLI的`devServer.proxy`配置进行代理。 2. 生产阶段:后端服务器正确配置CORS策略。 通过以上步骤,你应该能够成功解决Vue-Socket.IO在跨域...

    FlashSocket.IO-0.7.x.zip

    要开始使用FlashSocket.IO,开发者需要在Flex项目中引入库文件,并按照其提供的API文档设置连接。以下是一个基本的使用示例: ```actionscript import flashsocket.io.Socket; var socket:Socket = new Socket(...

    socket.io.js

    9. 部署与配置:在生产环境中,可能需要配置Socket.IO以适应负载均衡、SSL加密、跨域策略等。这通常涉及到服务器端的设置和配置文件的调整。 总结,Socket.IO.js是构建实时Web应用的强大工具,它简化了WebSocket的...

    基于socket.io的聊天室

    在WebSocket技术的基础上,Socket.IO还解决了跨域问题,兼容各种浏览器,以及在网络不稳定的情况下保持连接的稳定性。在这个聊天室中,Socket.IO作为实时通信的核心,负责客户端和服务器之间的消息传递。 3. **前端...

    Node.js-网站在线客服基于socket.io和node

    Socket.IO的主要目标是提供在所有浏览器和移动平台上进行实时、低延迟、跨域的双向通信。它在WebSocket之上做了封装,自动处理WebSocket的不足,如不支持旧版浏览器的问题,以及在网络不稳定时的重连机制。 **4. ...

    使用Socket.io在Node.js中实现的WebRTC信令服务器_JavaScript_HTML_下载.zip

    Socket.io是一个实时应用库,它在WebSocket之上提供了一层抽象,解决了WebSocket的一些问题,如跨域、心跳机制、重连等。Socket.io支持多种传输协议,包括WebSocket、polling等,确保在各种网络环境下都能稳定工作。...

    详解详 nginx代理代 socket.io服务踩坑

    本文将深入探讨在使用Nginx代理Socket.IO服务时可能遇到的问题以及解决方案。 首先,理解Nginx的角色至关重要。Nginx是一个高性能的HTTP和反向代理服务器,能够处理高并发连接,分发请求到不同的服务器,从而提高...

    使用 node.js + socket.io + enchant.js 的 聊天游戏 示例_JavaScript_代码_下载

    在本项目中,我们探索的是如何使用 Node.js、Socket.IO 和 Enchant.js 构建一个聊天游戏。Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,它让开发者可以在服务器端使用 JavaScript 编程。Socket.IO 是...

    此应用程序是作为node.js和socket.io教程的一部分创建的。它包括一个内置在node.js中的服务器.zip

    客户端代码通常与服务器部署在同一域名下,以便Socket.IO能正确建立跨域连接。 通过学习和实践这个示例,开发者可以深入理解Node.js和Socket.IO如何协同工作,以构建功能完善的实时通信应用。这不仅有助于提升技能...

    socket.io:socket.io 沙盒

    7. **跨域通信**:Socket.IO能够处理跨域问题,允许客户端和服务器在不同的域名下通信。 8. **错误处理**:Socket.IO提供了完善的错误处理机制,包括连接失败、消息传递失败等。 学习和掌握Socket.IO,不仅可以...

    socket.io:Node.js Socket.io示例

    默认情况下,Socket.IO 允许跨域通信,但如果遇到跨域问题,可以在服务器端设置 CORS: ```javascript io.set('origins', '*:*'); ``` 9. **中间件** Socket.IO 提供了中间件功能,可以对每个事件进行预处理...

    前端项目-engine.io-client.zip

    WebSocket是HTML5引入的一种在浏览器与服务器之间进行全双工通信的协议,但在某些情况下(如跨域、防火墙限制等),WebSocket可能无法工作,这时Engine.IO会自动切换到其他降级传输方式,如Long-Polling,确保数据...

    node.js中使用socket.io的方法

    虽然 Socket.IO 本身具有跨域支持,但是开发者在实现具体功能时,还需谨慎处理用户输入,确保连接的安全性。 在 Node.js 与 Socket.IO 结合使用时,代码的主要组成部分可以分为服务器端和客户端两部分。服务器端...

    Flask-SocketIO, 用于 Flask 应用程序的socket.io 集成.zip

    Flask-SocketIO, 用于 Flask 应用程序的socket.io 集成 烧瓶 socketio 用于 Flask 应用程序的Socket.IO 集成。安装你可以与pip一样安装这里软件包:pip install flask-socketio示例from flask imp

    Vue与Node.js通过socket.io通信的示例代码

    服务器端代码和Node.js单独使用socket.io基本类似,只需要注意在创建socket.io实例时,使用的HTTP服务器必须已经创建好。 以上就是在Vue.js和Node.js中使用socket.io进行实时通信的基本原理和示例代码。通过socket....

    socket.io-example:带socket.io的示例应用

    这个"socket.io-example"项目是一个使用Socket.IO的示例应用,旨在帮助开发者理解如何在JavaScript环境中集成和使用Socket.IO。 Socket.IO的核心是提供WebSocket服务,但除此之外,它还包含了对多种其他实时通信...

    chat-socket-io:使用Socket.IO的基本聊天

    【标题】:“chat-socket-io:使用Socket.IO的基本聊天” Socket.IO是一个实时应用程序框架,它在客户端和服务器之间提供实时、双向通信。这个项目“chat-socket-io”旨在展示如何利用Socket.IO创建一个简单的聊天...

    chat:在socket.io和express中进行项目学习socket.io

    在IT领域,尤其是在Web开发中,Socket.IO是一个强大的实时应用框架,它允许开发者实现实时、双向通信。这个框架在JavaScript环境中运行,可以与Express.js,一个流行的Node.js web应用框架,无缝集成。本项目“chat:...

Global site tag (gtag.js) - Google Analytics