TCP/UDP通信プログラムのライブラリ
Revisão | b7bb519d638e72869d7de91250af7476e240ec28 (tree) |
---|---|
Hora | 2012-02-18 15:33:37 |
Autor | ohwhsmm7 <ohwhsmm7@gmai...> |
Commiter | ohwhsmm7 |
Net_006 ・・・ TCP/IPの接続上限時の切断追加
Signed-off-by: ohwhsmm7 <ohwhsmm7@gmail.com>
@@ -150,10 +150,11 @@ unsigned __stdcall CSock::TCPSocketThread( void *p ) | ||
150 | 150 | ::Sleep( 1 ); |
151 | 151 | ::WSAResetEvent( wsaOver.hEvent ); |
152 | 152 | } |
153 | - ::shutdown( wsaSock, SD_BOTH ); | |
154 | - ::WSACloseEvent( wsaOver.hEvent ); | |
155 | 153 | |
156 | 154 | ERROR_THREAD: |
155 | + ::shutdown( wsaSock, SD_BOTH ); | |
156 | + if( wsaOver.hEvent != NULL ) | |
157 | + ::WSACloseEvent( wsaOver.hEvent ); | |
157 | 158 | ::closesocket( wsaSock ); |
158 | 159 | wsaSock = -1; |
159 | 160 |
@@ -97,6 +97,7 @@ unsigned __stdcall CTCP::AcceptThread( void *p ) | ||
97 | 97 | } |
98 | 98 | |
99 | 99 | ERROR_THREAD: |
100 | + ::shutdown( Sock, SD_BOTH ); | |
100 | 101 | ::closesocket( Sock ); |
101 | 102 | |
102 | 103 | ::_endthreadex( 0 ); |
@@ -139,6 +140,7 @@ unsigned __stdcall CTCP::ConnectThread( void *p ) | ||
139 | 140 | pTCP->m_pLog->SetLog( "NET::TCP TCP/IP サーバーへの接続に失敗" ); |
140 | 141 | |
141 | 142 | ERROR_THREAD: |
143 | + ::shutdown( Sock, SD_BOTH ); | |
142 | 144 | ::closesocket( Sock ); |
143 | 145 | |
144 | 146 | CONNECT_THREAD: |
@@ -175,6 +177,8 @@ void CTCP::Connect( const SOCKET* sock, | ||
175 | 177 | if( nUseMax >= m_STcp.m_nMemMax ) |
176 | 178 | { |
177 | 179 | m_pLog->SetLog( "NET::TCP TCP/IP 接続数が上限を超えました" ); |
180 | + ::shutdown( *sock, SD_BOTH ); | |
181 | + ::closesocket( *sock ); | |
178 | 182 | } |
179 | 183 | } |
180 | 184 |