、同じインターフェイス/アドレス/ポートにバインド新しいsocket()
L2、listen()
sおよびaccept()
の新しい接続を作成します以前のリスニングソケットL1から受け入れられたソケットは、L1が閉じられていないかのように正しく動作しますか?または、このようにしてソケットL2を作成して起動することは、最初は不可能ですか?参考にしてください。リスニングソケットを再起動すると、受け入れられた接続にどのような影響がありますか? POSIX、<code>socket()</code> L1をINGの<code>listen()</code>にプロセス<code>accept()</code>の接続、およびその後<code>close()</code> S L1によれば
例:
int server = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
bind(server, &someAddress, sizeof(someAddress)))
listen(server, 0);
int conn_1 = accept(server, NULL, NULL);
/* ... */
int conn_n = accept(server, NULL, NULL);
/* RESTART LISTENING SOCKET: */
close(server);
server = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
bind(server, &someAddress, sizeof(someAddress)))
listen(server, 0);
int newconn_1 = accept(server, NULL, NULL);
/* ... */
int newconn_n = accept(server, NULL, NULL);
/* Will connections conn_1...conn_n still properly operate at this point?
ポイントを説明するためにいくつかのコードを追加する必要があります。私はあなたが何を求めているのか理解できませんでした。 – SergeyA
@SergeyAここで私が今追加した例はどうですか? – jotik