![](/img/trans.png)
[英]socket.io not sending connect message to client on flashsocket
[英]Cant connect AIR app to socket.io
我正在尝试将AIR应用程序连接到socket.io,但这只是无法正常工作。 这是我的代码:
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
creationComplete="creationCompleteHandler(event)">
<s:layout>
<s:VerticalLayout />
</s:layout>
<fx:Script>
<![CDATA[
import com.pnwrain.flashsocket.FlashSocket;
import com.pnwrain.flashsocket.events.FlashSocketEvent;
import mx.events.FlexEvent;
protected var socket:FlashSocket;
protected function creationCompleteHandler(event:FlexEvent):void
{
trace("Connect");
socket = new FlashSocket("ws://mydomain.com:8080/socketFolder/");
socket.addEventListener(FlashSocketEvent.CONNECT, onConnect);
socket.addEventListener(FlashSocketEvent.MESSAGE, onMessage);
socket.addEventListener(FlashSocketEvent.CLOSE, onDisconnect);
socket.addEventListener(FlashSocketEvent.IO_ERROR, onIOError);
socket.addEventListener(FlashSocketEvent.SECURITY_ERROR, onSecurityError);
}
protected function onConnect(event:FlashSocketEvent):void{
trace("connect");
}
protected function onDisconnect(event:FlashSocketEvent):void{
trace("disconnect");
}
protected function onIOError(event:FlashSocketEvent):void{
trace("onIOError");
}
protected function onSecurityError(event:FlashSocketEvent):void{
trace("onSecurityError");
}
protected function onMessage(event:FlashSocketEvent):void{
trace("onMessage");
}
]]>
</fx:Script>
</s:WindowedApplication>
如您所见,我正在使用FlashSocket。
我的服务器配置是:
io.configure( function(){
io.enable('browser client minification'); // send minified client
io.enable('browser client etag'); // apply etag caching logic based on version number
io.enable('browser client gzip'); // gzip the file
io.disable('destroy upgrade');
io.set('log level', 3);
io.set('transports', [
'websocket'
, 'flashsocket'
, 'htmlfile'
, 'xhr-polling'
, 'jsonp-polling'
]);
});
我在服务器控制台中收到“正在销毁non-socket.io升级” ,因此我添加了io.disable('destroy upgrade'); 。 我不再收到消息,但没有帮助。
在AIR应用程序中,我没有收到任何错误,已调用任何事件侦听器。
socket.io服务器运行正常,因为我有一个HTML客户端连接到它。 该服务器是远程服务器,而不是本地主机。
我必须设置任何安全策略吗? 我正在从Flash Builder运行AIR应用程序。
任何想法将不胜感激。
如果使用的是FlashSocket.io 0.7.x
标签的下载,则只需在新服务器行中指定主机和端口。
socket = new FlashSocket("mydomain.com:8080");
试一试,看看是否还有进一步的方法。
sim卡
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.