Итак - у меня есть этот Socket (не XMLSocket, просто Socket) клиент. У меня также есть собственный скрипт PHP на моем сервере, который прослушивает порт X. Мой клиент пытается подключиться к нему.
Все отлично работает, безопасность и связь, синхронизация и все остальное. Но - Flash Player (собственно среда выполнения AIR) выдает ошибку при попытке подключения, но ТОЛЬКО, когда сервер не работает ... Что? Это действительно странно - ошибка на самом деле обрабатывается try catch (IOError), и даже более странно, строка, которая указывается в выводе как строка ошибки, - это строка, в которой я просто СОЗДАЮ Socket ...?
Хм ...
Выход:
Error #2044: Unhandled IOErrorEvent:. text=Error #2031: Socket Error.
at ---.server::Client()[---/server/Client.as:167]
at Function/<anonymous>()[---_fla.MainTimeline::frame1:430]
at Function/<anonymous>()
at Function/<anonymous>()[---_fla.MainTimeline::frame1:375]
Код:
try {
Sock = new Socket(); // THIS is line 167
} catch (e:IOError){
log("Could not connect!");
status = "disconnected";
}
Это на самом деле не имеет значения - сервер, как предполагается, все еще в сети, ошибки не будут отображаться ... Но игнорировать ошибку нехорошо.
Еще одна вещь: когда я закомментирую строку, где я на самом деле соединяюсь, используя Sock.connect (...) - он не выдает ошибку, но, очевидно, не работает ... Кроме того, часть соединения также в блоке try catch (IOError) ...
ПОЧЕМУ Flash говорит, что проблема в строке 167, когда она явно в другом месте? И / или в чем может быть проблема?