I wrote that because for me the client
(Win32) wouldn’t reopen the port if I clicked Close and then Open in my
program. Setting SO_LINGER resolved this. You didn’t mention your
client, so I guessed (wrong).
How to fix from lwIP? Nothing you’ve
written indicates it is lwIP, especially if a 3rd party client
works.
Bill
From: address@hidden
[mailto:address@hidden On Behalf Of Piero 74
Sent: Wednesday, March 05, 2008
10:47 AM
To: Mailing list for lwIP users
Subject: Re: [lwip-users] socket:
LWIP_ACCEPT problem?
Now i'm using a simple
client which i wrote....
By my board will work with a third part client, so, i cannot know if this pc
application will set SO_LINGER.
So, how i can fix the problem from lwip code???
thanks,
Piero
2008/3/5, Bill Auerbach <address@hidden>:
Change the client's SO_LINGER option so it
doesn't hang on to the connection.
Bill
From: lwip-users-bounces+bauerbach=address@hidden
[mailto:address@hidden] 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
address@hidden
http://lists.nongnu.org/mailman/listinfo/lwip-users
|