我目前将'WebSocketMain.swf'文件与'socket.io.min.js'放在同一目录中,但Firefox似乎不想使用闪存套接字。它总是恢复到XHR-Polling。请参阅此处的测试用例:http://thebeer.co/labs/rt/test.php(页面为空,请查看JS控制台以获取反馈)。
这是适合它的地方吗?
我是否需要将Socket.io定向到此SWF文件的位置?
更新
我的节点服务器请求缩小的客户端js。
var $ = require('jquery');
var http = require('http'),
url = require('url'),
https = require('https'),
fs = require('fs'),
crypto = require('crypto'),
io = require('../'),
sys = require(process.binding('natives').util ? 'util' : 'sys'),
server = http.createServer(function(req, res){
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end();
});
server.listen(80,"173.201.181.56");
var io = io.listen(server), buffer=[];
io.set('browser client minification', true);//<<minified client js requested here.
我的客户端包括缩小的JS:
<script src="http://173.201.181.56:60/socket.io/socket.io.js"></script>
答案 0 :(得分:4)
我看到你决定自己托管文件。您知道Socket.IO也为您服务吗?见https://github.com/LearnBoost/Socket.IO/wiki/How-do-I-serve-the-client
您甚至可以对其进行配置,因此会输出缩小的版本:https://github.com/LearnBoost/Socket.IO/wiki/Configuring-Socket.IO
此客户端还知道.swf文件的位置,因此您无需配置任何内容。
如果你仍然想要自己提供文件(不推荐)你需要将window.WEB_SOCKET_SWF_LOCATION
设置为http://yoururlhere.com:port/socket.io/static/flashsocket/WebSocketMain.swf
或WebSocketInsecure.swf(这取决于你是跨域还是端口,但捆绑的socket.io客户端已经为你处理了这个问题)