12/10/08 23:25:28.29
>>186
ソケットの値も確認しました。recvで①のソケットで受信していて、sendで①のソケットを指定しているのに②に送信されます
スレッド開始など省いていますが、以下のようなソースです。事情があって受信したデータの解析・送信はメインスレッドのクラスにある関数を使っています。
CServer::mainthread(){
while(1){
socket2 = accept( socket1, &addr, &length );
CThread* cthread = new CThread( socket2, this );
cthread.start();
}
}
CServer::Send( SOCKET socket ){
CThread::CThread( SOCKET socket2 ){
Socket = socket2; //メンバ変数
}
CThread::subthread(){
JUSINDATA data;
int length;
while(1){
length = recv( Socket, &data, sizeof(data) );
if( length == sizeof(data) ){
send( Socket, &data, length );
}
}
}
>>187
上記ソースで言うとsubthreadで送り返しているのですが、実際にはsend関数は