Change the client's SO_LINGER option so it doesn't hang on to the
connection.

 

Bill

 

  _____  

From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf
Of Piero 74
Sent: Wednesday, March 05, 2008 10:14 AM
To: Mailing list for lwIP users
Subject: [lwip-users] socket: LWIP_ACCEPT problem?

 

Hi all.

I'm testing socket on lwip 130rc1

this is a piece of my code:

  // Create a new tcp connection handle 
  //----------------------------------------------------------
  sockfd = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
  serv_addr.sin_family = AF_INET;
  serv_addr.sin_addr.s_addr = INADDR_ANY;
  serv_addr.sin_port = htons(20000);
  bind(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr));
  //    setsockopt(sockfd, SOL_SOCKET, SO_KEEPALIVE, (char*)&bOptVal,
bOptLen);
  listen(sockfd, 0);
  //----------------------------------------------------------

  // Loop forever 
  while(1)
  {
    // Wait for connection. 
    //------------------------------------------------------    
    newsockfd = accept(sockfd, &addr, &addrlen);
    bOptVal = TRUE;
    //------------------------------------------------------   
    for (i=0; i<10; i++)
    {
      // send 10 hello world!
      lwip_write(newsockfd, provatx, 12);
    }        
    
    // close connection
    close(newsockfd);
  }

I have a simple client on pc running windows.

If the client fixs his local port, accept function accept connection only
the first time, after seems it doesn't accept.

If my client changes its local port for EVERY attempt, accept works weel!!! 

What is the problem???

bye,
Piero



_______________________________________________
lwip-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to