回答編集履歴
1
追記
answer
CHANGED
@@ -1,2 +1,10 @@
|
|
1
1
|
接続が切れた時にuser_lenがそのままになっているから無効なソケットをFD_SETしてるんでエラーになってるんじゃないかな?
|
2
|
-
dstSocketの何番目がいつ切れるかわからないからuser_lenで数を記憶するよりも配列を全部-1とか無効な値に初期化しておいて、接続が切れたらそれに戻してFD_SETをしないようにしないといけないと思います。
|
2
|
+
dstSocketの何番目がいつ切れるかわからないからuser_lenで数を記憶するよりも配列を全部-1とか無効な値に初期化しておいて、接続が切れたらそれに戻してFD_SETをしないようにしないといけないと思います。
|
3
|
+
|
4
|
+
[追記]
|
5
|
+
わかった、別件でバグってますね。
|
6
|
+
()が漏れてるんでasockが常に1になってると思います。
|
7
|
+
|
8
|
+
if (**(**asock = accept(srcSocket, (struct sockaddr *)&caddr, &caddr_len)**)** < 0) {
|
9
|
+
|
10
|
+
こうです。
|