why it can not access the destination Host when the network cable is disconnected for a moment and later this connected again?
//---------------------------------------------------------------------------- // Thread 'Server': BSD Server socket process //---------------------------------------------------------------------------- static void Server (void const *arg) { SOCKADDR_IN addr; int sock, sd, res; int type = (int)arg; char dbuf[4];
while (1) { sock = socket (AF_INET, type, 0); addr.sin_port = htons(PORT_NUM); addr.sin_family = PF_INET; addr.sin_addr.s_addr = INADDR_ANY; bind (sock, (SOCKADDR *)&addr, sizeof(addr)); if (type == SOCK_STREAM) { listen (sock, 1); sd = accept (sock, NULL, NULL); closesocket (sock); sock = sd; } while (1) { res = recv (sock, dbuf, sizeof (dbuf), 0); if (res <= 0) { break; } if (dbuf[0] == BLINKLED) { LED_Out (dbuf[1]); } } closesocket (sock); } }
yes, i'm using a fixed IP number
That and how the unspecified host reacts to the change, a) by getting an interrupt or whatever, and b) by reprogramming the PHY and renegotiating the link to the switch/hub
Please see also Posting Tips about using the PRE tags for source code.