Professional Documents
Culture Documents
Data Management Notes11-11 (More On Sockets)
Data Management Notes11-11 (More On Sockets)
255”)
OR
Inet_aton(“10.0.0.1”, &(my_addr.sin_addr));
OR
Example
Fatal_error(“gethostbyname() failed”);
My_addr.sin_addr.s_addr = resolve_name(“cis.stvincent.edu”);
Socket Options
Getsockopt(), setsockopt()
Int on = 1;
Changes on windows
#include…
#include <winsock.h>
…
Int main()
WSADATA WSAData;
Fatal_error(“WSAStartup failed”);
….
WSACleanup();
Return 0;
Processing connections
For(;;)
Sock = accept(…);
Fork(handlerequest(sock)); // or exec(processrequest,…)
}
Int select(int maxDescPlus1, fd_set * readDescs, fd_set * writeDescs, fd_set * exceptDescs, struct
timeval * timeout);
Define STDIN 0
Int main(void)
Fd_set readfds;
FD_ZERO(& readfds);
FD_SET(STDIN, &readfds);
If(FD_ISSET(STDIN, &readfds))
Return 0;