=================================================================== RCS file: /home/cvs/OpenXM/src/ox_toolkit/mysocket.c,v retrieving revision 1.1 retrieving revision 1.3 diff -u -p -r1.1 -r1.3 --- OpenXM/src/ox_toolkit/mysocket.c 1999/12/09 22:44:55 1.1 +++ OpenXM/src/ox_toolkit/mysocket.c 2000/01/13 07:57:09 1.3 @@ -1,10 +1,14 @@ /* -*- mode: C; coding: euc-japan -*- */ -/* $OpenXM$ */ +/* $OpenXM: OpenXM/src/ox_toolkit/mysocket.c,v 1.2 2000/01/05 06:05:35 ohara Exp $ */ /* -setsockopt()してオプションを設定後, -socket, bind -するとローカルポートが割り当てられる。 -その後, getsockname によってポート番号が求まる. +Q: How to get a local port number? +A: You do setsockopt() to set options and do socket(), bind(). +An OS set a local port for you. +In order to get the local port, you need to do getsockname(). +(See [1] pp. 91, pp. 187 for detail) + +Reference +[1] W. Richard Stevens, "UNIX Network Programming", 2nd ed. Vol. 1 */ #include @@ -94,13 +98,13 @@ int mypipe(char *program, int fd1, int fd2) fprintf(stderr, "socketpair: fail! errno = %d\n", errno); } if (fork() == 0) { - /* 子プロセス */ + /* child process */ close(sockfd[0]); dup2(sockfd[1], fd1); dup2(sockfd[1], fd2); execl(program, program, NULL); } - /* 親プロセス */ + /* parent process */ close(sockfd[1]); return sockfd[0]; }