ActionScript编译报错:未找到ServerSocketConnectEvent类型,求解决方案
解决ActionScript ServerSocket编译错误的问题
嘿,别着急!你遇到的这个编译错误其实是个很常见的小问题,跟是否用Adobe Professional完全没关系,咱们一步步来解决:
错误的直接原因
你代码里的import flash.events;写法不对——ActionScript需要明确导入具体的类,而不是只导入flash.events这个包。编译器找不到ServerSocketConnectEvent类型,就是因为没有正确导入它。另外你还重复导入了flash.net.ServerSocket,这个可以清理掉。
修正后的代码
package { import flash.display.Sprite; import flash.net.ServerSocket; import flash.events.ServerSocketConnectEvent; // 替换原来的flash.events; import flash.net.Socket; public class one extends Sprite { private static var server:ServerSocket; private static var client:Socket; public static function create() { one.server = new ServerSocket(); one.server.bind(8888); one.server.addEventListener(ServerSocketConnectEvent.CONNECT, one.serverConnectHandler); one.server.listen(); } public static function serverConnectHandler(e:ServerSocketConnectEvent):void { var socket:Socket = e.socket; one.client = socket; } public static function send(param1:String) { one.client.writeUTFBytes(param1); } } }
编译相关的说明
- 不需要额外指定库:
ServerSocket和ServerSocketConnectEvent都是Flash Player核心API的一部分(从Flash Player 10.0开始支持),只要你使用的mxmlc.exe是对应版本的SDK(比如Flex SDK 4.x及以上,或者单独的Flash Player SDK),编译时不需要添加额外的库参数。 - 不需要Adobe Professional:命令行用
mxmlc编译完全可行,Adobe Professional只是提供了可视化的IDE,核心编译逻辑和命令行是一样的。
你把代码修正后,再用原来的编译命令试试:
mxmlc.exe -static-link-runtime-shared-libraries=true one.as
应该就能正常编译了!
内容的提问来源于stack exchange,提问作者user3503143
相关产品推荐
相关产品推荐

