サーバーソケットプログラミングの書き込み中にsocketfdをIPアドレスにバインドする必要がありますか? つまり、bind システム コールを呼び出さずにソケット プログラミングを作成することは可能ですか? ソケットのように -> リッスン -> 受け入れる -> 読み取り/書き込み/ -> 閉じる。
2 に答える
2
ソケットは、ポートまたは UNIX ソケット ファイルにバインドする必要があります。ということyou don't want to define port number for listen
ですか?次に、ポート番号 0 をバインドします。ランダムなポートで動作します。
memset((char *) &reader_addr, 0, sizeof(reader_addr));
reader_addr.sin_family = PF_INET;
reader_addr.sin_addr.s_addr = htonl(INADDR_ANY);
reader_addr.sin_port = 0;
if (bind(server_fd, (struct sockaddr *)&reader_addr, sizeof(reader_addr)) < 0) {
perror("reader: bind");
exit(1);
}
于 2013-06-25T03:52:14.240 に答える