Non c'è nessun limite né di distanza né di altro: le socket sono alla base della comunicazione di rete (di TUTTE le comunicazioni di rete, anche quelle tra un browser ed un sito). Se lo smartphone è sotto copertura di una rete (wireless, 3g, quel che vuoi) allora può collegarsi ad internet, quindi può usare il procotollo TCP.

Sul numero di smartphone che si possono collegare non c'è nessun limite.

Stai facendo una confusione immensa: Servlet non è una tecnologia diversa da Socket (è come chiedere che differenza c'è fra una ruota e un'autostrada: se non fosse stata inventata la ruota non avrebbero senso le autostrade... se non esistessero le Socket, non avrebbero senso le Servlet).

Una Servlet è un "micro-programma" che costituisce una parte di un sito.
Una Socket è un componente che permette di stabilire una connessione di rete (di qualunque tipo, anche quelle tra un browser ed un sito).

Senza le Socket non esiste comunicazione di rete... di nessun tipo. Con una Socket ci si può collegare a una qualunque risorsa disponibile in rete (un sito, un server di posta, un server FTP, un database, un programma "pinco pallino").

Per quanto riguarda le risorse on-line c'è anche il tutorial ufficiale di Oracle:
http://docs.oracle.com/javase/tutorial/networking/

In particolare sulle socket:
http://docs.oracle.com/javase/tutori...rking/sockets/

Ma prima di tutto cercherei di chiarirmi bene le idee... credo ti sia molto più utile concentrarti sul networking (primo link) che parla appunto delle comunicazioni di rete e dimenticarti completamente (almeno per il momento) le Servlet (che riguardano la costruzione di Applicazioni Web, intese come siti internet, quindi un tipo molto più particolare di comunicazione di rete, che si sviluppa attorno al protocollo HTTP, che a te non serve).

Ciao.