Цитата:
|
Дело не в этом. Там просто у NetConnection есть свойство maxPeerConnections
|
Это немного про другое maxPeerConnections - максимальное число пиров в рамках данного конекшена.Оно никак не влияет на топологию сети.5-6 соседей выбирается из соображений скорости доставки сообщений.
Цитата:
|
В этом методе невозможно указать адрес соседа
|
public function sendToNearest(message:Object, groupAddress:String):String
Его и не надо указывать.Флэш сам выберет соседа, ближайшего к groupAddress и пошлет ему message.Дальше у этого соседа надо поймать это сообщение и снова вызвать sendToNearest с тем же groupAddress и message и так далее по цепочке в конце концов message достигнет адресата.Вообщем вот готовый свич для обработки сообщения посланного через sendToNearest

Код AS3:
case "NetGroup.SendTo.Notify": // e.info.message, e.info.from, e.info.fromLocal
if(e.info.fromLocal == true){
log(e.info.code);
// We have reached final destination
hSendTo(e.info.message.data);
}else{
// Forwarding
ng.sendToNearest(e.info.message,e.info.message.dest);
}
break;
+ функция посылки мессаджа конкретному пирИД:

Код AS3:
public function sendTo(peer_id:String,data:Object):void {
var message:Object = {};
message.data = data;
message.dest=ng.convertPeerIDToGroupAddress(peer_id);
message.seq = seq;
seq++;
if (seq>999) seq=0;
if(joined){
ng.sendToNearest(message,message.dest);
} else {
log("not joined");
}
}
где ng - текущая NetGroup
seq - нужен чтоб сообщения отличались друг от друга т.к. одинаковые будут кешироваться.
Хотя если у тебя всего макс. 3 пира в комнате, то париться,конечно, особо не следует.
Добавлено через 10 минут
Вот, кстати, годный манул.Я оттуда копипастил
оттуда:
Цитата:
|
Neighbor Count != Group Member Count
|