投稿日 | : 2005/02/23(Wed) 13:55 |
投稿者 | : フォレスト |
Eメール | : |
URL | : |
タイトル | : Re: Winsockコンポーネント(切断後の再接続) |
> その後、Closeイベントなどをいろいろデバッグをしてみたのですが、他に接続しているクライアン
ト
> の接続が終了してしまったりと、うまくいきませんでした。
その原因は以下の所だと。
> Private Sub tcpServer_Close(Index As Integer)
> '接続が切断された
> tcpServer(Index).Close '接続しているサーバを閉じる
> intConnectMax = intConnectMax - 1 '接続クライアント数を1台分減らす。
> Unload tcpServer(intConnectMax) '使用していたコンポーネントを開放する
>
> End Sub
UnloadするコンポーネントインデックスはintConnectMax?
Indexじゃなくて?
例えば5台繋いでいるとして、3台目のクライアントが接続要求を出してくるとします。
CloseするのはIndexの値なので3台目ですが、UnloadするのはintConnectMaxつまり、
5台目をUnloadしてしまうんじゃないかと思います。
あまりWinSock使ったことないですけど、コードを見るとココかな?