Quote Originally Posted by aidave
Indy is blocking, which means unless you use it in threads, it is going to slow down your game. It is made by alot of networking experts, who know what they are doing, so why reinvent the wheel?
Quite true, this is my main reason for going with Indy


Quote Originally Posted by aidave
There are some issues with Indy that I found to be really annoying. One was trying to find the UDP port of connecting clients (still cant figure that out). Another is disconnecting. Indy makes it seem like it supports disconnection detection but only in some cases. For the rest you have to detect yourself with timeouts etc.
UDP is connection less so there is no way of knowin g when a UDP client is no longer sending data. Only with TCP can you detect droped connections etc.

Getting the remote UDP port is trickly in most netowrk libraries (I know it's a pain in SDL_Net) I always got round this by sending on a known port but firewalls don't always make that easy, or send the port to send info back on to the server in the first "handshake" mesages.

Some thing else I do is to use TCP to connect to the server and login, then use UDP for all the time critical information. Taht way if the TCP connections drops you can handle that and remove that client from the UDP client list as well.

Quote Originally Posted by aidave
If you decide to go with Indy I can teach u more.
dave
That would be cool.