[En-Nut-Discussion] TCP server

Harald Kipp harald.kipp at egnite.de
Mon Jul 18 17:09:21 CEST 2011

Hi Valentin,

On 7/18/2011 1:41 PM, Valentin Dodov wrote:
> I'm trying to create and test simple TCP server.

You do know



> My program starts one thread which listens for incoming connections on
> port 21 and one thread which connects to port 21.
> When second thread tries to creates socket there are 2 sockets and the
> first one is allays in  SYNSENT state:

I'm confused. According to the first sentence, the first socket is a
server socket, which should never get into SYN_SENT.

Client sockets will get into SYN_SENT state, if there is no response
from the server. This state may last a quite long time until
NutTcpConnect() finally gives up and returns an error. I'd recommend to
further analyze this with


Also check


> This is my code:
>         NutTcpAccept (sock, 21);
>         puts ("Client connected\n");
>         stream = _fdopen((int) sock, "r+w");
>         fclose (stream);
>         NutTcpCloseSocket (sock);
>         printf ("Client disonnected\n");

Isn't there some input missing. The server socket will immediately
closing the socket as soon as a connection is established. Do you want
this? Isn't there an fgets or similar missing?



More information about the En-Nut-Discussion mailing list