![]() |
Клиент на основе XMLSocket
Пишу клиент-серверное приложение: в качестве клиента Flash со следующим кодом:
Код:
socket = new XMLSocket();Сервер сделал сначала на С++Builder, сделав там объект ServerSocket, который просто при коннекте отправлял строку. В результате Во флешке высвечивалось "connect", но "message recived" не появлялось, а на сервере работает так как будто все (в том числе и передача) произошло успешно. Я проботал всесь форум и все, что только можно было - ни-у-кого, вроде, подобных проблем не было, протестил на разных машинах - аналогично. Попробовал отправить сообщние от клиента серверу - передается без проблем. Потом переписал сервер на Java таким образом: Код:
import java.io.*;Народ помогите кто-нибудь, пожалуйста!!! Обращаюсь сюда как в предпоследнюю инстанцию. (Последней станет встреча мой головы со стенкой)... |
А почему адрес 127.000.000.001, а не 127.0.0.1?
|
Цитата:
|
Попробуй так:
Код:
out.println("Hello\0"); |
не помогает. :( Языки на основе Си сами вставляют нулевой байт в конец...
|
Вложений: 1
Вот кстати исходники этого дела (для серверной части нужен JavaBuilder2006):
|
Замени в исходнике .fla
Код:
txt.text("hello")Код:
txt.text="hello"Код:
txt.text=data |
мож я чего не понимаю... а может onConnect случается после onData?..
Попробуй просто в 2 разных текстовых поля выводить... |
Мдя, ошибка, конечно глупая, впрчем на onData у меня стояло так:
Код:
socket.onData = function(data) {Код:
socket.onData = function(data) { |
А может его эти строчки не устраивают?
Код:
socket = new XMLSocket();Код:
socket = new XMLSocket(); |
Можешь послать сам сервер откомпиленый, у меня нету IDE Для явы.
|
Цитата:
|
Вложений: 1
Вот значит сама флэшка (в новой версии) и откомпиленый сервер на Яве. - файлик Server.class
|
Цитата:
Код:
XMLSocket.prototype.onData = function (src) {Поскольку connect() возвращает true\false попробуй сделать что-то типа: Код:
var _l1:Boolean = socket.connect();Но вообще странно все это... жаль сейчас потестить не могу =( |
Во флэше, вроде, всё написано правильно. Но у меня одно время не приходили сообщения (сервер на ПХП) пока я не добавил в скрипте сервера нулевой код в конце строк (\0).
Но если Java, говорите, сама добавляет.... |
Цитата:
Цитата:
В общем, такой подход не годится явно... А булевского флажка типа XMLSocket.connected макромедицы почему-то не предусмотрели :( |
Цитата:
|
С клиентом все впорядке. Проверял на двух серверах (java,php), работает как часы.
|
Цитата:
|
Код:
var socket:XMLSocket = new XMLSocket();ЗЫ. А может причина банально простая: файрвол\прокся просто не пускают в этот порт? %) ЗЫЫ. Ну и не знаю... попробуй сниффером посмотреть, приходит ли вообще с сервера хоть что-нибудь... |
Может надо посылать XML файл с настройками безопасности?
Может что-нить в этом духе : Код:
<cross-domain-policy> |
Я не силён в Java, но мне кажется, что такой код
Код:
import java.io.*;На крайний случай, проверить живой ли сервер можно через Telnet. |
Оказалось (впрочем, как я и ожидал), что ларчик просто открывался. Проблемс у меня с серверным кодом, а именно класс PrintWriter при конвертации из потока OutputStream в поток Writer, использует буфер и по умолчанию не отсылает данные, пока тот полностью не забьется. Надо было всего лишь добавить в его констуктор второй параметр - true и тогда он отсылает каждую строку сразу:
Код:
PrintWriter out = new PrintWriter( new BufferedWriter(newЦитата:
Интересно, почему здесь, на форуме, все поголовно любят писать серверную часть на Delphi? (некоторые, правда, умудряются писать на ПХП :taunt: ) Я, например, на дух не переношу Паскаль и все, что с ним связано (согласись, вещь устаревшая). Кстати, как можно видеть из моего первого поста, сначала я писал на С++Builder. Если я правильно понимаю, эта среда относится к "визуальным языкам". Самое интересное, что там работало также, как и на Яве (до сих пор не могу понять почему). Поэтому-то я долго не мог поверить, что проблемы действительно в сервере. |
Цитата:
|
|
Цитата:
|
Не интересовался, но я думаю ты можешь, выловить из той статьи ключевые слова, и забросить их в гугл с настроками "искать на русском" =)?
|
Цитата:
|
На более русском языке :)
http://www.sharedfont.com/liveDocs/H.../00001097.html |
| Часовой пояс GMT +4, время: 07:24. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.