Я написал приложение AIR, которое использует сокет для подключения к другому компьютеру, на котором запущено другое приложение AIR, которое использует ServerSocket для прослушивания входящих соединений от первого приложения.Поскольку мой компьютер находится за маршрутизатором, я открыл порт и перенаправил его на компьютер, прослушивая соединения.Я проверил canyouseeme.org, чтобы увидеть, открыт ли порт, и сказал, что этот порт открыт.Когда я попытался подключить первое приложение ко второму, оно не подключилось.Когда запустили второе приложение и заставили его прослушивать входящие соединения и регистрироваться на canyouseeme.org, приложение сообщило мне, что сайт действительно подключился к нему.Так почему же не удалось подключить первое приложение AIR ??
Вот код:
import flash.events.ServerSocketConnectEvent;
import flash.events.Event;
import flash.events.IOErrorEvent;
var server:ServerSocket = new ServerSocket();
server.bind(55551, "192.168.1.4");
server.addEventListener(ServerSocketConnectEvent.CONNECT, handleConnection);
server.listen();
var socket:Socket = new Socket();
socket.addEventListener(IOErrorEvent.IO_ERROR, error)
socket.connect("94.59.206.37", 55551);
function error(event:IOErrorEvent):void
{
trace("port 55551 is not openned");
}
function handleConnection(event:ServerSocketConnectEvent):void
{
trace("connected!!");
}