Die Frage ist, was Du genau machen willst? Wir reden hier über verschiedene "Ebenen" der Kommunikation. Die eine Ebene (Layer 4 / OSI/ISO Schichtenmodel) auf der die Verbindung zu Deinem Server aufgebaut wird ist TCP. Die kümmert sich nur darum, das die beiden Partner Daten austauschen können. Den Rest muss Deine Anwendung machen.
Dazu verwendet man in der Regel ein Protokoll, z.B. HTTP für einen Webserver. Ein Protokoll definiert dann wie die Kommunikation stattfinden muss. Bei HTTP muss der Client einen HTTP-Request senden, den der Server dann mit dem HTTP-Response beantwortet.
Bei SMTP (Mailversand) "redet" zuerst der Server und sagt dem Client wer er ist. Kannst ja mal zum Spass ein telnet auf Port 25 von Google machen:
telnet alt2.gmail-smtp-in.l.google.com 25
Trying 74.125.143.27...
Connected to alt2.gmail-smtp-in.l.google.com.
Escape character is '^]'.
220 mx.google.com ESMTP io8si5826005lab.15
quit
221 2.0.0 closing connection io8si5826005lab.15
Connection closed by foreign host.
Du brauchst also für Deinen Anwendungsfall ein Protokoll das Du definierst und dann programmierst.