通知
すべてクリア
Topic starter
2003年5月22日 2:38 PM
サーバのプログラムで複数のソケットを作って、
クライアントからの接続を待っていると、
上手く動作しません。
1個だと上手くいきます。
何か設定等で違いがあるのでしょうか?
ポート番号は個々に持っています。
以上 ご回答をお願いします。
2003年5月22日 4:17 PM
複数のソケットをどうやってlisten,acceptしてます?
selectを使ってるのでしょうか。
Topic starter
2003年5月22日 4:57 PM
こんな感じです。
for(j = 0; j < 3; j++) {
listen(srcSock[j], 1);
}
for(j = 0; j < 5; j++) {
dstSock[j] = accept(srcSock[j], (struct sockaddr *)&dstAddr, &dstAddrSize);
}
考えたらselectは使っていません。
以上 アドバイスをお願いします。
2003年5月22日 5:11 PM
> for(j = 0; j < 5; j++) {
> dstSock[j] = accept(srcSock[j], (struct sockaddr *)&dstAddr, &dstAddrSize);
> }
最初のsrcSock[0]の acceptでブロック(クライアントが接続してくる
まで待たされる)されちゃうはずです。
> selectは使っていません。
複数ソケットの場合、selectかマルチスレッドを使わんとでけんです。