我正在Haxe做一个需要连接到SmartFoxServer的项目。我安装了SFS Pro (localhost:8080打开并显示入门页面)。我也没有修改配置文件。
客户端,我尝试运行SmartFoxClient.connect([my ip], 9339)。在使用connect的行之后,什么都不会运行,侦听器SFSEvent.onConnection也不会被调用。
import it.gotoandplay.smartfoxserver.SmartFoxClient;
import it.gotoandplay.smartfoxserver.SFSEvent;
class New {
public static function main() {
var sfs = new SmartFoxClient(true);
haxe.Log.trace(sfs.properties);
sfs.addEventListener(SFSEvent.onConnection, function(e:SFSEvent) {
haxe.Log.trace("Listener called: " + sfs.getConnectionMode);
if(e.params.success) {
haxe.Log.trace("Success");
}
else {
haxe.Log.trace("Success");
}
});
try{
haxe.Log.trace("Connecting Started..");
sfs.connect("192.168.1.229", 9339); //my ip is 192.168.1.229 on the internal network. Tried with "127.0.0.1" and got the same result
haxe.Log.trace("Connecting...");
}
catch(e:String) {
haxe.Log.trace("Failed");
}
haxe.Log.trace("Connection Sent..................");
}
}我用haxe -main New -swf whatever.swf -swf-lib SmartFoxClient.swf -swf-lib SFSEvent.swf编译。编译运行良好,但跟踪的输出仅为`sfs.properties (为null)和“连接开始.”。
我尝试在Flash中使用类似的代码(这是相同的函数),它连接得很好。
我的问题是,如果有人在没有将SFS的全部代码移植到Haxe (我在as3hx中没有成功地尝试过)的情况下就这样做了,那么他们做什么不同呢?
发布于 2014-10-15 15:29:25
在我的例子中,问题是flash没有使用套接字的权限。我把它改成了一个可信任的文件,现在工作正常了。
https://stackoverflow.com/questions/26277890
复制相似问题