Я пытаюсь создать гибкое приложение, в котором оно получает данные из соединения telnet, и у меня возникла странная проблема.
Чтобы дать краткое введение, я хочу прочитать данные из процесса, который выставляет их через сокет. Поэтому, если в оболочке я наберу telnet localhost 8651
, я получу XML, а затем соединение будет закрыто (я получаю следующее Connection closed by foreign host.
)
В любом случае, я нашел простое учебное пособие онлайн для flex, которое по сути является клиентом telnet, и можно ожидать, что он будет работать, но все следует законам Мерфи, и ничто не работает!
Теперь у меня есть сообщения, которые печатаются в каждом обработчике событий и во всех местах, которые я могу придумать. Когда я подключаюсь к сокету, ничего не происходит, никакой обработчик событий не запускается, даже обработчик подключения или закрытия, и если я делаю следующее, то socket.connected возвращает false! Я не получаю ошибок, попытка поймать поднимает не исключение. Я в растерянности относительно того, что идет не так?
socket.connect(serverURL, portNumber);
msg(socket.connected.toString());
Есть ли что-то в telnet, чего я не знаю, и это заставляет его не работать. Что еще интереснее, так это то, что ни одно из событий не было запущено.
Другая интересная вещь заключается в том, что у меня есть некоторый код на Python, который делает то же самое, и он способен вернуть XML!
Ниже приведен код Python, который работает!
def getStats(host, port):
sock = socket.socket()
sock.connect((host, port))
res = sock.recv(1024*1024*1024, socket.MSG_WAITALL)
sock.close()
return statFunc(res)
Так что я спрашиваю вас, что происходит не так !!!!!! Есть ли какая-то внутренняя проблема с тем, как flex обрабатывает розетки?