Тема: p2p чат
Показать сообщение отдельно
Старый 06.05.2012, 17:43
miki вне форума Посмотреть профиль Отправить личное сообщение для miki Найти все сообщения от miki
  № 1  
Ответить с цитированием
miki

Регистрация: Jan 2011
Сообщений: 46
По умолчанию p2p чат

Привет.
Делаю чат на технологии p2p.
Все почти готово, пользователи могут переписыватся.
Поставил себе задучу, оповещать о входе нового пользователя... и застряг на этоп этапе.
Делаю так:
Код AS3:
public function inti(event:Event):void
{
	netConnection = new NetConnection();
	netConnection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
	netConnection.connect(SERVER + DEVKEY);
}
 
public function setupGroup():void
{
	groupspec = new GroupSpecifier(GROUP);
	groupspec.serverChannelEnabled = true;
	groupspec.multicastEnabled = true;
	groupspec.postingEnabled = true;
	groupspec.routingEnabled = true;
	groupspec.peerToPeerDisabled = false;
 
	netStream = new NetStream(netConnection, groupspec.groupspecWithAuthorizations());
	netStream.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
}		
 
public function netStatusHandler(e:NetStatusEvent):void
{
	switch (e.info.code)
	{
		case 'NetConnection.Connect.Success':
			setupGroup();
		break;
		case 'NetStream.Connect.Success':
			// Create new NetGroup
			netGroup = new NetGroup(netConnection, groupspec.groupspecWithAuthorizations());
			netGroup.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
		break;
		case 'NetGroup.Connect.Success':
			sendMessage(this.userName + " вошел в чат");
 
		break;
		case 'NetGroup.Posting.Notify' :
			onReceiveMessage(e.info.message);//объект, который мы получили от члена группы.
		break;
		default:
		break;
	}
}
public function sendMessage(text:String = ""):void
{
	var mes:Object = new Object()
	mes.user = this.userName;
	mes.text = text;
	mes.sequnce = this._sequence++;
	mes.sender = netConnection.nearID;
	netGroup.post(mes);
}
Но не работает. Помогите пожалуйста.

Добавлено через 5 часов 17 минут
ничто не знает?

Добавлено через 10 часов 19 минут
подскажите пожалуйста...