First off I advise you to use SFML 2.0.
I can't understand some things here... Because SFML documentation sucks.
The documentatino doesn't suck!
It just requires a bit knowledge on C++ and how code works together to understand some things.
Also if it would suck, you think I could answer your question although I've never done anything with SFML 1.6 and never done anything with networking?
what Selector.GetSocketReady(i) does really return?
It returns
Type as be seen
here.v
To understand what
Type is you need some knowledge in C++ to see that
sf::Selector<Type> is a template that works with diffrent types.
You're using
sf::SelectorTCP which is a typedef and defined in the header file
here (line 00111).
And what is if(Socket == Listener)?
For this you have to know how networking works and what a Socket and Listener is. I myself do not have much knowledge about this, but the documentation states for a Selector/Listener:
Selector allow reading from multiple sockets without blocking.
It's a kind of multiplexer
And the if statement checks if the socket you've defined and the selector are the same.
And why doesn't Socket always equal to Listener?
As stated above a listener is a non-blocking selector of sockets. In the example you're using only one socket, thus your listener and your socket will always be the same.
This is soo strange. I don't get it. It is equal to Listener just when someone connects, but after that its not...
So your basic problem is not that the documentation sucks, but that your knowledge with networking sucks (like mine). Go and Google a bit. SFML was developed as an simple API for some functionallities, the documentation explains what the code is for, but how you now have to adapt the API to your application so that it does what you want is not of concerne for the documentation. There are some tutorials that could enlight you.