Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 05.12.2012, 12:37
client510 вне форума Посмотреть профиль Отправить личное сообщение для client510 Найти все сообщения от client510
  № 11  
Ответить с цитированием
client510

Регистрация: Nov 2012
Сообщений: 30
Снова переписал все заново. Прописал 843 порт. Как и раньше, эффект нолевой! Что делать дальше?

Добавлено через 4 часа 17 минут
Алло-о-о! Есть кто-то из супер спецов на этом форуме? На протяжение шести часов, еще раз, прочитал кучу статей, а эту почти выучили на из уч, просмотрел десяток видео, Перепробовал все ваши советы - результата 0! Может проблема в сервере? Ребята, у кого-то есть рабочий сервер? Выложите пожалуйста код. Я брал здесь и тут, но не на одном не работает.

Добавлено через 5 часов 2 минуты
Кстати, ни одна из этих команд :
Цитата:
Чтобы запустить сервер XMLSocket, откройте командную строку и введите java SimpleServer. Файл SimpleServer.class может находиться в любом месте на локальном или сетевом компьютере. Его не обязательно сохранять в корневом каталоге веб-сервера.

Если сервер запустить не удается из-за того, что файлы находятся не в пути к классам Java, попробуйте запустить сервер с помощью java -classpath . SimpleServer.
на моем компьютере не выполняются.

Старый 06.12.2012, 01:26
maxkar вне форума Посмотреть профиль Отправить личное сообщение для maxkar Найти все сообщения от maxkar
  № 12  
Ответить с цитированием
maxkar

Регистрация: Nov 2010
Сообщений: 497
А с какой ошибкой ваша команда не выполняется? Может, там javac нужно запустить. Или доступа к портам нет.

Вообще, я не понимаю, откуда у кучи народа (не только у вас) возникают проблемы с сокет-серверами. Если разбираться в технологии и все делать строго по спеке, никаких проблем нет.

Код:
import java.io.*;
import java.net.*;

public class SS {
	private static final String POLICY_FILE_RESPONCE = 
		"<cross-domain-policy><allow-access-from domain=\"*\" to-ports=\"*\"/></cross-domain-policy>";
	public static void main(String [] args) throws Exception {
		final ServerSocket ss = new ServerSocket(3128);
		while (true) {
			final Socket s = ss.accept();
			new Thread(new Runnable() {
				@Override
				public void run() {
					handles(s);
				}
			}).start();
		}
	}

	static void handles(Socket s) {
		System.out.println("Client!");
		try {
			final InputStream is = new BufferedInputStream(s.getInputStream());
			final OutputStream os = s.getOutputStream();
			boolean first = true;
			boolean die = false;
			do {
				final ByteArrayOutputStream buffer = new ByteArrayOutputStream();
				int readed;
				while ((readed = is.read()) > 0)  {
					buffer.write(readed);
				}
				final byte[] bytes = buffer.toByteArray();
				final String dummyContent = new String(bytes, "UTF-8");
				System.out.println(dummyContent);
				if ("<policy-file-request/>".equals(dummyContent) && first) {
					os.write(POLICY_FILE_RESPONCE.getBytes("UTF-8"));
					os.write(0);
					die = true;
				}
				first = false;
				if (readed == -1)
					die = true;
				if ("<quit/>".equals(dummyContent)) {
					die = true;
				}
				os.write(bytes);
				os.write(0);
			} while (!die);
			s.shutdownOutput();
			s.close();
			System.out.println("Good buy, cruel world!");
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}
Код AS3:
package {
import flash.display.*;
import flash.text.*;
import flash.geom.*;
import flash.net.*;
import flash.events.*;
import flash.system.*;
public class Test extends Sprite {
  const tf : TextField = new TextField();
  var sock : XMLSocket;
  public function Test() {
	Security.loadPolicyFile("xmlsocket://127.0.0.1:3128");
	sock = new XMLSocket("127.0.0.1", 3128);
	sock.addEventListener(Event.CONNECT, connected);
	sock.addEventListener(DataEvent.DATA, receive);
	addChild(tf);
  }
 
  private function connected(e : Event) : void {
    tf.text = "COnnected";
	sock.send(<test/>);
  }
 
  private function receive(e : DataEvent) : void {
  	tf.text = e.data.toString();
	sock.send(<quit/>);
  }
}
}
Вот. Рабочее. Проверялось. Импорты в as от другого теста остались. Импорты со * потому, что писалось все в vim'е а не в IDE. Если и оно у вас не заработает, по шагам пишите, что именно вы делали и какие ошибки на каких шагах выдавались.

Обработка исключений не совсем правильная (для примера - пойдет, в production close нужно в finally делать). Запись в два приема (нулевой байт отдельно) тоже может быть не очень для production (учитывая, что у вас вообще не работает - без разницы).

Старый 06.12.2012, 01:41
client510 вне форума Посмотреть профиль Отправить личное сообщение для client510 Найти все сообщения от client510
  № 13  
Ответить с цитированием
client510

Регистрация: Nov 2012
Сообщений: 30
Пробавал по разному, но ошибка одна и та же:
Цитата:
ioErrorHandler:
[IOErrorEvent type="ioError" bubbles=false cancelable=false eventPhase=2 text="Error #2031: Ошибка сокета. URL: 127.0.0.1"]

securityErrorHandler:
[SecurityErrorEvent type="securityError" bubbles=false cancelable=false eventPhase=2 text="Error #2048: Нарушение изолированной среды: file:///E|/WebServers2/home/videochat/www/avfc%5F1%5F0.swf не может загрузить данные из 127.0.0.1:4444."]
Спасибо за пример, буду пробовать.

Создать новую тему Ответ Часовой пояс GMT +4, время: 17:04.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 17:04.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.