simple tcp socket programming
M.W. Chang
mwchang
Mon May 17 11:59:43 PDT 2004
Given this code fragment, how could I modify it to bind to a
user-specified port, rather than obtaining an available port?
server.c:
/* open socket */
sock = socket(PF_INET, SOCK_STREAM , 0);
if (sock < 0) {
perror("server: Error opening stream socket");
exit(1);
}
server.sin_family = PF_INET;
server.sin_addr.s_addr = INADDR_ANY;
server.sin_port = 0;
if (bind(sock, (struct sockaddr *)&server, sizeof server) < 0) {
perror("server: Error binding server socket to message socket");
exit(1);
}
/* obtain the first availble port */
length = sizeof server;
if (getsockname(sock, (struct sockaddr *)&server, &length)<0) {
perror("server: Error obtaining socket name");
exit(1);
}
listen(sock,5);
--
.~. http://toylet.homeip.net
/ v \ Linux 2.4.22-xfs
/( _ )\ 10:22pm up 1 day 4:27
^ ^ load average: 1.00 1.01 1.00
More information about the Linux-users
mailing list