Я пытаюсь создать гибкое приложение, которое получает данные из telnet-соединения, и у меня возникает странная проблема.
Чтобы дать краткое введение, я хочу прочитать данные из процесса, который предоставляет их через сокет. Итак, если в оболочке я набираю telnet localhost 8651
i, получаю xml, а затем соединение закрывается (я получаю следующее Connection closed by foreign host.
)
В любом случае я нашел в Интернете простой учебник для flex, который по сути является клиентом Telnet, и можно было бы ожидать, что он будет работать, но все следует законам Мерфи, и ничего не работает!
Теперь у меня есть сообщения, которые печатаются в каждом обработчике событий и во всех местах, о которых я могу думать. Когда я подключаюсь к сокету, ничего не происходит, обработчик событий не запускается, даже обработчик подключения или закрытия, и если я сделаю следующее, socket.connected вернет false! Я не получаю ошибок, попытка catch не вызывает исключения. Я не понимаю, что идет не так?
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 обрабатывает сокеты?