我正在尝试通过 serversocket API 将基于 java 的 android 应用程序连接到 flex (AIR) 应用程序,但在连接时总是让 i 超时。
这是我的弹性代码:
public function ConnectionManager(address:String, port:Number)
{
var server:ServerSocket = new ServerSocket();
try{
server.addEventListener(Event.CONNECT, onConnect);
server.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecError);
server.bind(port);
server.listen();
}
我在端口 2000 连接到 127.0.0.1
Java端:
public class TCPConnection {
/** Debug Tag */
private static final String TAG = TCPConnection.class.getName();
private Socket socket;
private int port;
private String host;
public TCPConnection(String host, int port) {
this.port = port;
this.host = host;
this.connect();
}
private void connect() {
System.out.println("Trying to establish socket at "+host+":"+port);
try {
this.socket = new Socket(host, port);
} catch (Exception e) {
e.printStackTrace();
}
}
}
错误:
05-24 12:21:24.043: WARN/System.err(28797): java.net.SocketTimeoutException: 传输端点未连接
这是一些安全沙盒问题吗?设备和 AIR 应用程序位于同一本地网络中。