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

Регистрация: Apr 2011
Адрес: 0,0
Сообщений: 39
Отправить сообщение для cremnet с помощью Skype™
Цитата:
Сообщение от wvxvw Посмотреть сообщение
Есть предположение, что вы считываете содержание в строку, и потом эту строку в trace() - так да, вы увидете только до первого нуль-байта. Но вообще, ну, по крайней мере в теории TCP не должен терять пакеты. Разве что провод сетевой перерезать
ХЗ...
Код AS3:
		private function connectToServer(host:String,port:int):void{
			Security.loadPolicyFile("xmlsocket://"+host+':'+port);
			if (host && port)  
			{
				socket.connect(host, port);
			} else return;
 
			socket.addEventListener(Event.CLOSE, closeHandler);	 
			socket.addEventListener(Event.CONNECT, connectHandler);
			socket.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
			socket.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
			socket.addEventListener(ProgressEvent.SOCKET_DATA, socketDataHandler); 
 
		}
		private function readResponse() : void {
 
			var str:String = socket.readUTFBytes(socket.bytesAvailable);
			trace(str);
                }
		private function sendRequest(str:String) : void {
			writeln(str);
			socket.flush();
		}
 
		private function writeln(str:String) : void {
			try 
			{
				socket.writeUTFBytes(str);
			}
			catch (e:IOError) 
			{
				trace(e);
			}
		}
		private function socketDataHandler(event : ProgressEvent) : void {
			trace('ProgressEvent');
			readResponse();
		}
Добавлено через 13 минут
доработал функцию readResponse чтобы проверить есть ли что нибудь после нуля
Код AS3:
		private function readResponse() : void {
 
			var str:String = socket.readUTFBytes(socket.bytesAvailable);
			trace(str,'-str');
			var str2:String = socket.readUTFBytes(socket.bytesAvailable);
			trace(str2,'-str2');
                }
Там пусто. И ваще не логично чтобы два сообщения шли в одном.
Данный сокет сервер устрое так что собщения отправляются из разных мест (классы)
Класс состояния группы слушает события в группе и на них реагирует (сокет вошел, сокет ушел.... и тд)
Класс контроллер проверяет можно ли пользователю в группу и логинет его туда(если можно) и выдает соответствующий ответ успешно или нет

Добавлено через 19 минут
Цитата:
Сообщение от etc Посмотреть сообщение
Это если используется XMLSocket.
flash.net.Socket


Последний раз редактировалось cremnet; 06.05.2011 в 01:30.