One way to handle all the mess reliably that I could conceive:<div><br></div><div>Hash on IP/port, just a big linearly probed array of pointers to peers would be sufficient. If not found, then send a sort of ack back to the client, requesting a re-connect packet. Once the other side receives the ack, that side sends a re-connect packet containing the long-form session id. So once the other end gets this, it uses the IP and session id to locate the correct peer, and set it up on the new port.</div>
<div><br></div><div>But that only solves some of the problem. You still have to figure out what to do about protocol compatibility across all users of ENet... Trickier problem. :)</div><div><br><div class="gmail_quote">On Thu, May 24, 2012 at 4:31 AM, Len Holgate <span dir="ltr"><<a href="mailto:len.holgate@gmail.com" target="_blank">len.holgate@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>> Does the UDP packet's header contain the port of the Router or the<br>
> initial sender port ? I'd guess the later, as when you send some<br>
<br>
</div>The datagram can only contain the address and port of the sender. BUT the<br>
sender, in the case of NAT routers, is the NAT and NOT the client machine<br>
where your code is running.<br>
<div><br>
> Anyway, I'll do a loose bind then, ie: if there's no perfect IP /<br>
> Port match, I'd do only a IP match, that should be ok in my case.<br>
<br>
</div>Which will work just fine if you only have one peer coming in from that<br>
particular address...<br>
<br>
Len<br>
<a href="http://www.serverframework.com" target="_blank">www.serverframework.com</a><br>
<div><div><br>
_______________________________________________<br>
ENet-discuss mailing list<br>
<a href="mailto:ENet-discuss@cubik.org" target="_blank">ENet-discuss@cubik.org</a><br>
<a href="http://lists.cubik.org/mailman/listinfo/enet-discuss" target="_blank">http://lists.cubik.org/mailman/listinfo/enet-discuss</a><br>
</div></div></blockquote></div><br></div>