Recent Notes

Displaying keyword search results 1 - 10
Created by magnum on February 22, 2012 16:04:38    Last update: February 22, 2012 16:04:38
A simple single threaded echo server: #include <stdio.h> #include <stdlib.h> #incl...
Created by magnum on January 30, 2012 18:13:52    Last update: January 30, 2012 18:13:52
There are two ways you cat get the name of a host from its ip address: getnameinfo and gethostbyaddr . The former is IPV6 compatible. Using getnameinfo : #include <sys/types.h> #include <sys/socket.h> ... Using gethostbyaddr : #include <sys/types.h> #include <sys/socket.h> ...
Created by magnum on October 09, 2011 19:53:26    Last update: October 09, 2011 19:53:50
#include <stdio.h> #include <stdlib.h> #incl... UNIXguide.net explains this option well: This socket option tells the kernel that even if this port is busy (in the TIME_WAIT state), go ahead and reuse it anyway. If it is busy, but with another state, you will still get an address already in use error. It is useful if your server has been shut down, and then restarted right away while sockets are still active on its port. You should be aware that if any unexpected data comes in, it may confuse your server, but while this is possible, it is not likely. It has been pointed out that "A socket is a 5 tuple (proto, local addr, local port, remote addr, remote port). SO_REUSEADDR just says that you...
Created by magnum on October 06, 2011 14:35:20    Last update: October 06, 2011 14:35:20
The longjmp function jumps to the line where setjmp was last called. In return, setjmp returns the value passed in as the second parameter to longjmp . #include <stdio.h> #include <stdlib.h> #incl... Result: $ ./longjmp val is 0 val is 1 --> val is ...
Created by magnum on October 06, 2011 12:32:21    Last update: October 06, 2011 12:32:21
What's the value of INADDR_ANY ? You can look it up in header files, but it's equally easy to get it with a little code: #include <stdio.h> #include <arpa/inet.h> ... Output: $ ./inaddrvalue INADDR_ANY value: 0.0.0.0
Created by magnum on September 24, 2011 13:14:37    Last update: September 28, 2011 18:08:35
There are two sides to an IP socket: the local side and the remote side: The getpeername function retrieves the peer address of the specified socket. #include <sys/socket.h> int getpeername(int soc... Example: struct sockaddr_in addr; socklen_t socklen = si... The getsockname function retrieves the locally-bound name of the specified socket. #include <sys/socket.h> int getsockname(int soc... Example: struct sockaddr_in addr; socklen_t socklen = si...
Created by magnum on September 27, 2011 21:51:05    Last update: September 28, 2011 18:02:49
Client socket usually does not call bind . But I've seen code that does and it was puzzling to me what bind does to a client socket. Therefore, this little test program. It retrieves a web url and displays info about the socket. You can optionally give a bind host name/ip and port and see what it does. Here are my test results: $ ./client www.google.com Local addr: 172.16.0.... This is the code: #include <stdio.h> #include <stdlib.h> #incl...
Created by magnum on September 26, 2011 21:13:20    Last update: September 26, 2011 21:13:20
To locate the first occurrence of a character: #include <string.h> const char * strchr ( const... To locate the last occurrence of a character: #include <string.h> const char * strrchr ( cons...
Created by magnum on September 25, 2011 21:51:23    Last update: September 26, 2011 20:49:22
A simple socket client in C. #include <stdio.h> #include <stdlib.h> #incl...
Created by magnum on September 25, 2011 21:41:15    Last update: September 25, 2011 21:41:30
A simple C example for IP address lookup with gethostbyname . #include <netdb.h> #include <stdio.h> #inclu...
Previous  1 2 Next