#include "stdafx.h"#include "net_func.h"#include "request.h"#include <process.h>#include <vector> typedef unsigned int (_stdcall THREAD_START_ROUTINE)(void *); bool thread_spawn( THREAD_START_ROUTINE func, void* var, unsigned int & thread ){unsigned result = 0;unsigned int id = 0;result = _beginthreadex( NULL, 0, func, var, 0, &id );if ( result == 0 ) return false; thread = result;return true;} int _tmain(int argc, _TCHAR* argv[]){WinSockInit();char * szIniFile = ".\\connect.cfg" ; char sBuffer[ 24 ];memset( sBuffer, 0, sizeof( sBuffer ) ); int iHostNum = GetPrivateProfileInt( _T("HQHOST"), _T("HostNum"), 0, szIniFile ); iHostNum = 1;char sKey[128]; vector<unsigned int> vecThread; for ( int i = 1 ; i <= iHostNum; ++i ){memset( sKey, 0, sizeof( sKey ) );sprintf( sKey, "IPAddress%02d", i ); memset( sBuffer, 0, sizeof( sBuffer ) );GetPrivateProfileString( _T("HQHOST"), sKey, _T("127.0.0.1"), sBuffer, sizeof(sBuffer), szIniFile ); memset( sKey, 0, sizeof( sKey ) );sprintf( sKey, "Port%02d", i ); unsigned int iThread = 0;HQServerInfo * pInfo = new HQServerInfo();memset( pInfo, 0, sizeof( HQServerInfo ) );strcpy( pInfo->szServer, sBuffer ) ;pInfo->iPort = GetPrivateProfileInt( _T("HQHOST"), sKey, 7709, szIniFile ); //bool bRes = thread_spawn( GetHQAvgCost, pInfo, iThread ); //pInfo->iCmdId = CMD_GET_HIS_MINUTE_DATA;//pInfo->iCmdId = CMD_GET_TRANSACTION_DATA;//pInfo->iCmdId = CMD_GET_HIS_TRANSACTION_DATA;//pInfo->iCmdId = CMD_GET_INDEX_BARS;//bool bRes = thread_spawn( TestFunc, pInfo, iThread );pInfo->iCmdId = CMD_GET_STOCK_QUOTES;bool bRes = thread_spawn( HQRefreshCheck, pInfo, iThread );if ( bRes ){vecThread.push_back( iThread );}} Sleep( 100000000 );system( "pause");return 0;}