Ik probeer een HTML server te maken. Maar nu lukt het lezen van een request van een client niet.
Ik kan een verbinding maken, maar als ik een GET aanvraag doe, dan komt hij niet verder.
Hij blijft steeds hangen op de status=recv(.,.,.,.); Wat doe ik hier fout? Ik heb het bijna net zoals in een voorbeeld die ik heb gevonden?

[edit]
code even aangepast zoals hij is, icm onder. (geen grote aanpassing)
Ik kan een verbinding maken, maar als ik een GET aanvraag doe, dan komt hij niet verder.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
| void Client(){
getpeername( cs, (struct sockaddr *)&c_address, (socklen_t*)&size_csa);
printf("Een verbinding is gemaakt met %s.\n",inet_ntoa(*((struct in_addr *)&c_address.sin_addr )));
int status=0;
struct timeval waarde= {50, 0};
char buffer[BUFLEN];
fd_set lezen;
FD_ZERO( &lezen );
FD_SET( cs, &lezen );
status = select( cs+1, &lezen , NULL, NULL, &waarde);
if( FD_ISSET( cs, &lezen) ){
printf("lees de socket\n");
//input van de socket hier komt hij...
status = recv( cs, buffer, BUFLEN, 0 ); //hier gaat het fout
//hier komt hij niet.
printf("komt hij hier?");
sscanf(buffer, "%s %s %s", cmd, path, vers);
printf("cmd: %s path: %s", cmd, path);
while( (status = recv(cs, buffer, BUFLEN, 0)) >0){
if( status ==2 && buffer[0] == '\r' && buffer[1] =='\n')
break;
}
if( strcmp( cmd, "GET" )==0 ){
printf("het is een GET aanvraag");
GETrequest();
}else{.....} |
Hij blijft steeds hangen op de status=recv(.,.,.,.); Wat doe ik hier fout? Ik heb het bijna net zoals in een voorbeeld die ik heb gevonden?
[edit]
code even aangepast zoals hij is, icm onder. (geen grote aanpassing)
[ Voor 12% gewijzigd door SPee op 08-04-2003 20:58 ]
let the past be the past.