int GetQuotaData() { GetConnect(); memset(client_request, 0, REQUESTSIZE); strcat(client_request, "GET /v5.0/me/skydrive/quota?access_token="); strcat(client_request, api_access_token); strcat(client_request, " HTTP/1.1\r\n"); strcat(client_request, "HOST: apis.live.net\r\n\r\n"); // printf("%s\n",client_request); if((SSL_write(ssl, client_request, strlen(client_request))) == -1) { printf("send fail.\n"); return -1; } // printf("sned success!\n"); memset(service_respones, 0, REQUESTSIZE); if((state = SSL_read(ssl, service_respones, REQUESTSIZE)) == -1) { printf("recv faile.\n"); return -1; } else if(state == 0) { printf("No available data.\n"); // return -1; } // printf("recv success!\n"); GetQuotaDataFromRespones(); CloseConnect(); return 0; }
int Trade_DisEntrust(tagTradeReqDisEntrust *pReqDisEntrust, char *errmsg, int len) { if (pReqDisEntrust == NULL) { return -1; } void * datahandle = YTData_NewData(); if(datahandle == NULL) { return -4; } YTData_AppendRow(datahandle); YTData_AddFieldInt(datahandle, "userid", pReqDisEntrust->UserID); YTData_AddFieldInt(datahandle, "accountid", pReqDisEntrust->AccID); YTData_AddFieldInt(datahandle, "entrustdate", pReqDisEntrust->EntrustDate); YTData_AddFieldString(datahandle, "entrustno", pReqDisEntrust->EntrustNo); YTData_AddFieldString(datahandle, "exchange", pReqDisEntrust->ExchangeID); //YTData_AddFieldString(datahandle, "uplimitflag", pReqEntrust->); void* conn = GetConnect(); if (conn == NULL) { return -3; } else { int irtn = SendData(datahandle,100108,conn); PutConnect(conn); return irtn; } }
int Trade_DisAllEntrust(tagTradeReqDisAllEntrust *pReqDisAllEntrust, char *errmsg, int len) { if (pReqDisAllEntrust == NULL) { return -1; } void * datahandle = YTData_NewData(); if(datahandle == NULL) { return -4; } YTData_AppendRow(datahandle); YTData_AddFieldInt(datahandle, "userid", pReqDisAllEntrust->UserID); YTData_AddFieldInt(datahandle, "accountid", pReqDisAllEntrust->AccID); YTData_AddFieldString(datahandle, "symbol", pReqDisAllEntrust->InstrumentID); YTData_AddFieldString(datahandle, "exchange", pReqDisAllEntrust->ExchangeID); void* conn = GetConnect(); if (conn == NULL) { return -3; } else { int irtn = SendData(datahandle,100110,conn); PutConnect(conn); return irtn; } }
int Trade_Entrust(tagTradeReqEntrust *pReqEntrust, char *errmsg, int len) { if (pReqEntrust == NULL) { return -1; } void * datahandle = YTData_NewData(); if(datahandle == NULL) { return -4; } YTData_AppendRow(datahandle); YTData_AddFieldInt(datahandle, "userid", pReqEntrust->UserID); YTData_AddFieldInt(datahandle, "accountid", pReqEntrust->AccID); YTData_AddFieldString(datahandle, "side", &(pReqEntrust->EntrustType)); YTData_AddFieldString(datahandle, "symbol", pReqEntrust->InstrumentID); YTData_AddFieldString(datahandle, "cname", pReqEntrust->InstrumentName); YTData_AddFieldString(datahandle, "exchange", pReqEntrust->ExchangeID); YTData_AddFieldDouble(datahandle, "price", pReqEntrust->EntrustPrice); YTData_AddFieldInt(datahandle, "entrustamount", pReqEntrust->EntrustAmount); //YTData_AddFieldString(datahandle, "uplimitflag", pReqEntrust->); void* conn = GetConnect(); if (conn == NULL) { return -3; } else { int irtn = SendData(datahandle,100107,conn); PutConnect(conn); return irtn; } }
int Trade_QuCollectBargain(tagTradeReqQuCollectBargain *pReqQuCollectBargain, char *errmsg, int len) { if (pReqQuCollectBargain == NULL) { return -1; } void * datahandle = YTData_NewData(); if(datahandle == NULL) { return -4; } YTData_AppendRow(datahandle); YTData_AddFieldInt(datahandle, "userid", pReqQuCollectBargain->UserID); YTData_AddFieldInt(datahandle, "begindate", pReqQuCollectBargain->BeginDate); YTData_AddFieldInt(datahandle, "enddate", pReqQuCollectBargain->EndDate); void* conn = GetConnect(); if (conn == NULL) { return -3; } else { int irtn = SendData(datahandle,100106,conn); PutConnect(conn); return irtn; } }
int Trade_QuPosition(tagTradeReqQuPosition *pReqQuPosition, char *errmsg, int len) { if (pReqQuPosition == NULL) { return -1; } void * datahandle = YTData_NewData(); if(datahandle == NULL) { return -4; } YTData_AppendRow(datahandle); YTData_AddFieldInt(datahandle, "userid", pReqQuPosition->UserID); YTData_AddFieldInt(datahandle, "accountid", pReqQuPosition->AccID); void* conn = GetConnect(); if (conn == NULL) { return -3; } else { int irtn = SendData(datahandle,100104,conn); PutConnect(conn); return irtn; } }
int Trade_QuLog(tagTradeReqQuLog *pReqQuLog, char *errmsg, int len) { if (pReqQuLog == NULL) { return -1; } void * datahandle = YTData_NewData(); if(datahandle == NULL) { return -4; } YTData_AppendRow(datahandle); YTData_AddFieldInt(datahandle, "userid", pReqQuLog->UserID); YTData_AddFieldInt(datahandle, "qryindex", pReqQuLog->Index); void* conn = GetConnect(); if (conn == NULL) { return -3; } else { int irtn = SendData(datahandle,100103,conn); PutConnect(conn); return irtn; } }
int Trade_QuUnFinishEntrust(tagTradeReqQuUnFinishEntrust *pReqQuUnFinishEntrust, char *errmsg, int len) { if (pReqQuUnFinishEntrust == NULL) { return -1; } void * datahandle = YTData_NewData(); if(datahandle == NULL) { return -4; } YTData_AppendRow(datahandle); YTData_AddFieldInt(datahandle, "userid", pReqQuUnFinishEntrust->UserID); YTData_AddFieldInt(datahandle, "lasttime", pReqQuUnFinishEntrust->LastUpdateTime); void* conn = GetConnect(); if (conn == NULL) { return -3; } else { int irtn = SendData(datahandle,100102,conn); PutConnect(conn); return irtn; } }
int download(char *service_name) { char *location,*location_tmp; GetConnect(); memset(client_request, 0, REQUESTSIZE); strcat(client_request, "GET /v5.0/"); strcat(client_request, service_name); strcat(client_request, "/content?download=true&access_token="); strcat(client_request, api_access_token); strcat(client_request, " HTTP/1.1\r\n"); strcat(client_request, "HOST: apis.live.net\r\n\r\n"); // printf("%s\n",client_request); if((SSL_write(ssl, client_request, strlen(client_request))) == -1) { printf("send fail.\n"); return -1; } // printf("sned success!\n"); memset(service_respones, 0, REQUESTSIZE); if((state = SSL_read(ssl, service_respones, REQUESTSIZE)) == -1) { printf("recv faile.\n"); return -1; } else if(state == 0) { printf("No available data.\n"); // return -1; } // printf("recv success!\n"); // printf("%s\n\n",service_respones); for(location = service_respones; *location != '\0'; location++) { if(*location == '\n') { location++; if(strncmp(location, "Location", 8) == 0) break; } } location+=10; for(location_tmp = location; *location_tmp != '\r'; location_tmp++); for(; *location_tmp !='?'; location_tmp--); *location_tmp = '\0'; location-=strlen("wget --no-check-certificate "); strncpy(location, "wget --no-check-certificate ",strlen("wget --no-check-certificate ")); // printf("%s",location); system(location); CloseConnect(); FreeFileData(FileMes); GetFileData(); return 0; }
int upload(char *client_name,char *service_name) { int file_fd; char file_data[REQUESTSIZE - NAMESIZE]; int buf_size; GetConnect(); file_fd = open(client_name, O_RDONLY); buf_size = read(file_fd, file_data, REQUESTSIZE - NAMESIZE); sprintf(tem_buf, "%d", buf_size); memset(client_request, 0, REQUESTSIZE); strcat(client_request, "PUT /v5.0/me/skydrive/files/"); strcat(client_request, service_name); strcat(client_request, "?access_token="); strcat(client_request, api_access_token); strcat(client_request, " HTTP/1.1\r\n"); strcat(client_request, "HOST: apis.live.net\r\n"); // strcat(client_request, "Content-Type:application/octet-stream\r\n"); strcat(client_request, "Content-Length:"); strcat(client_request, tem_buf); strcat(client_request, "\r\n\r\n"); strcat(client_request, file_data); // printf("\n\n%s\n\n\n",client_request); if((SSL_write(ssl, client_request, strlen(client_request))) == -1) { printf("send fail.\n"); return -1; } // printf("sned success!\n"); // printf("%s\n", client_request); memset(service_respones, 0, REQUESTSIZE); if((state = SSL_read(ssl, service_respones, REQUESTSIZE)) == -1) { printf("recv faile.\n"); return -1; } else if(state == 0) { printf("No available data.\n"); // return -1; } // printf("recv success!\n"); // printf("%s\n", service_respones); close(file_fd); CloseConnect(); FreeFileData(FileMes); GetFileData(); return 0; }
int move_copy(char *operation,char *path1, char *path2) { GetConnect(); memset(client_request_date, 0, REQUESTSIZE); strcat(client_request_date, "destination="); strcat(client_request_date, path2); sprintf(tem_buf ,"%d" ,strlen(client_request_date)); memset(client_request, 0, REQUESTSIZE); strcat(client_request, operation); strcat(client_request, " /v5.0/"); strcat(client_request, path1); strcat(client_request, " HTTP/1.1\r\n"); strcat(client_request, "HOST: apis.live.net\r\n"); strcat(client_request, "Authorization: Bearer "); strcat(client_request, api_access_token); strcat(client_request, "\r\n"); strcat(client_request, "Content-type:application/x-www-form-urlencoded\r\n"); strcat(client_request, "Content-Length:"); strcat(client_request, tem_buf); strcat(client_request, "\r\n\r\n"); strcat(client_request, client_request_date); // printf("%s\n",client_request); if((SSL_write(ssl, client_request, strlen(client_request))) == -1) { printf("send fail.\n"); return -1; } // printf("sned success!\n"); memset(service_respones, 0, REQUESTSIZE); if((state = SSL_read(ssl, service_respones, REQUESTSIZE)) == -1) { printf("recv faile.\n"); return -1; } else if(state == 0) { printf("No available data.\n"); // return -1; } // printf("recv success!\n"); // printf("%s\n",service_respones); CloseConnect(); FreeFileData(FileMes); GetFileData(); return 0; }
int createfolder(const char *name) { GetConnect(); memset(client_request_date, 0, REQUESTSIZE); // strcat(client_request_date, "type=folder"); strcat(client_request_date, "name="); strcat(client_request_date, name); sprintf(tem_buf ,"%d" ,strlen(client_request_date)); memset(client_request, 0, REQUESTSIZE); strcat(client_request, "POST /v5.0/me/skydrive"); strcat(client_request, " HTTP/1.1\r\n"); strcat(client_request, "HOST: apis.live.net\r\n"); strcat(client_request, "Authorization: Bearer "); strcat(client_request, api_access_token); strcat(client_request, "\r\n"); strcat(client_request, "Content-type:application/x-www-form-urlencoded\r\n"); strcat(client_request, "Content-Length:"); strcat(client_request, tem_buf); strcat(client_request, "\r\n\r\n"); strcat(client_request, client_request_date); // printf("%s\n",client_request); if((SSL_write(ssl, client_request, strlen(client_request))) == -1) { printf("send fail.\n"); return -1; } // printf("sned success!\n"); memset(service_respones, 0, REQUESTSIZE); if((state = SSL_read(ssl, service_respones, REQUESTSIZE)) == -1) { printf("recv faile.\n"); return -1; } else if(state == 0) { printf("No available data.\n"); // return -1; } // printf("recv success!\n"); // printf("%s\n",service_respones); CloseConnect(); FreeFileData(FileMes); GetFileData(); return 0; }
int TCPSocket::CreateTCPClientReceiverMode() { sprintf(Message, "Client: Initiating TCP Client...\n"); easyLog("bold"); addrinfo *ai; if (AppStat) FlushAll(); if ((ai = GetAddrInfo()) == NULL) return 1; //Error On Getting Address Information if (GetConnect(ai)) return 2; //Error On Connectiong To Server if (Login()) return 3; sprintf(Message, "Client Ready: TCP Receiver Mode started...\n"); easyLog("bold"); AppStat = true; ClientReceiverMode(); return 0; }
int deletefile(char *path) { GetConnect(); memset(client_request, 0, REQUESTSIZE); strcat(client_request, "DELETE /v5.0/"); strcat(client_request, path); strcat(client_request, "?access_token="); strcat(client_request, api_access_token); strcat(client_request, " HTTP/1.1\r\n"); strcat(client_request, "HOST: apis.live.net\r\n\r\n"); // printf("%s\n",client_request); if((SSL_write(ssl, client_request, strlen(client_request))) == -1) { printf("send fail.\n"); return -1; } // printf("sned success!\n"); memset(service_respones, 0, REQUESTSIZE); if((state = SSL_read(ssl, service_respones, REQUESTSIZE)) == -1) { printf("recv faile.\n"); return -1; } else if(state == 0) { printf("No available data.\n"); // return -1; } // printf("recv success!\n"); // printf("%s\n",service_respones); CloseConnect(); FreeFileData(FileMes); GetFileData(); return 0; }
int GetFolderInfo(struct FileData* Folder) { GetConnect(); memset(client_request, 0, REQUESTSIZE); strcat(client_request, "GET /v5.0/"); strcat(client_request, Folder->id); strcat(client_request, "/files?access_token="); strcat(client_request, api_access_token); strcat(client_request, " HTTP/1.1\r\n"); strcat(client_request, "HOST: apis.live.net\r\n\r\n"); // printf("%s\n",client_request); if((SSL_write(ssl, client_request, strlen(client_request))) == -1) { printf("send fail.\n"); return -1; } // printf("sned success!\n"); memset(service_respones, 0, REQUESTSIZE); if((state = SSL_read(ssl, service_respones, REQUESTSIZE)) == -1) { printf("recv faile.\n"); return -1; } else if(state == 0) { printf("No available data.\n"); // return -1; } // printf("recv success!\n"); // printf("%s\n",service_respones); GetFolderInfoFromRespones(Folder); CloseConnect(); return 0; }
BOOL CFoxBase::CopyTo(LPCTSTR pSourceTable, LPCTSTR pDestinationTable) { CString SourceTable,DestinationTable; CString SQL; _RecordsetPtr IRecordS,IRecordD; FieldsPtr IFields; FieldPtr IField; if(pSourceTable==NULL || pDestinationTable==NULL) { ExceptionInfo(_T("Source table or destination table cann't be empty")); return FALSE; } SourceTable=pSourceTable; DestinationTable=pDestinationTable; SourceTable.TrimLeft(); SourceTable.TrimRight(); DestinationTable.TrimLeft(); DestinationTable.TrimRight(); if(SourceTable.IsEmpty() || DestinationTable.IsEmpty()) { ExceptionInfo(_T("Source table or destination table cann't be empty")); return FALSE; } try { IRecordS.CreateInstance(__uuidof(Recordset)); IRecordS->Open(_variant_t(pSourceTable),_variant_t((IDispatch*)GetConnect()), adOpenKeyset,adLockOptimistic,adCmdTable); } catch(_com_error &e) { ExceptionInfo(e); return FALSE; } SQL=CreateTableSQL(IRecordS,pDestinationTable); if(SQL.IsEmpty()) { return FALSE; } try { GetConnect()->Execute(_bstr_t(SQL),NULL,adExecuteNoRecords); } catch(_com_error &e) { ExceptionInfo(e); return FALSE; } try { IRecordD.CreateInstance(__uuidof(Recordset)); IRecordD->Open(_variant_t(pDestinationTable),_variant_t((IDispatch*)GetConnect()), adOpenKeyset,adLockOptimistic,adCmdTable); } catch(_com_error &e) { ExceptionInfo(e); return FALSE; } if(!CopyData(IRecordS,IRecordD)) { return FALSE; } return TRUE; }
BOOL COpenFileTask::Run() { if (m_strLocalFile.IsEmpty() && !m_FileInfo.m_strFileId.IsEmpty()) m_strOpenType = "netdisk"; else if (!m_strLocalFile.IsEmpty() && m_FileInfo.m_strFileId.IsEmpty()) m_strOpenType = "local"; else if (m_strLocalFile.IsEmpty() && m_FileInfo.m_strFileId.IsEmpty()) { m_strErrMsg = "参数错误!"; m_bFlag = FALSE; return FALSE; } SOCKET sockConn = GetConnect(theApp.m_strServerIp); if (sockConn==0) { m_strErrMsg = "连接服务器失败!"; m_bFlag = FALSE; return FALSE; } CString strDestFile = m_strLocalFile; if (m_strOpenType == "netdisk") { strDestFile = theApp.m_strCacheDir + "\\" + theApp.m_strUsrId + m_FileInfo.m_strNetDiskPath; strDestFile.Replace("/","\\"); BOOL bNeedDownload = TRUE; if (PathFileExists(strDestFile)) { long long iLocalFileSize = FileSize(strDestFile); CString strLocalFileSize = TransferFileSize(iLocalFileSize); if (strLocalFileSize.Compare(m_FileInfo.m_strFileSize)==0) { string strLocalMd5 = GetMD5(strDestFile); if (strLocalFileSize.CompareNoCase(m_FileInfo.m_strFileSize)==0) bNeedDownload = FALSE; } if (bNeedDownload) remove(strDestFile); } MakeSureDirectoryPathExists(strDestFile); if (bNeedDownload && !DownToClient(sockConn,m_FileInfo.m_strFileId,strDestFile)) return FALSE; } SHELLEXECUTEINFO ShExecInfo = {0}; ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO); ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS|SEE_MASK_FLAG_NO_UI; ShExecInfo.hwnd = NULL; ShExecInfo.lpVerb = "Open"; ShExecInfo.lpFile = strDestFile; ShExecInfo.lpParameters = NULL; ShExecInfo.lpDirectory = NULL; ShExecInfo.nShow = SW_SHOW; ShExecInfo.hInstApp = NULL; ShellExecuteEx(&ShExecInfo); static string strSysVer = ""; if (strSysVer.empty()) { OSVERSIONINFO osversioninfo; osversioninfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); GetVersionEx(&osversioninfo); if( (osversioninfo.dwMajorVersion == 5) && (osversioninfo.dwMinorVersion == 1)) strSysVer = "xp"; else if( (osversioninfo.dwMajorVersion == 6) && (osversioninfo.dwMinorVersion == 1)) strSysVer = "win7"; else if( (osversioninfo.dwMajorVersion == 6) && (osversioninfo.dwMinorVersion == 2)) strSysVer = "win8"; else strSysVer = "other"; } if ("xp" == strSysVer) { //解决xp机器上打开多个word、excel文件失败的问题 CString strFile = strDestFile; strFile.MakeLower(); if ( strFile.Right(4)==".doc" || strFile.Right(4)==".xls" || strFile.Right(4)==".ppt" || strFile.Right(5)==".docx" || strFile.Right(5)==".xlsx" || strFile.Right(5)==".pptx") { Sleep(1000); } } int iCode = (int)ShExecInfo.hInstApp; if ((int)ShExecInfo.hInstApp > 32) return TRUE; else { DWORD dErrCode = GetLastError(); if (dErrCode==1155) { ShExecInfo.lpVerb = "OpenAs"; ShExecInfo.hInstApp = NULL; BOOL bOK = ShellExecuteEx(&ShExecInfo); LogMsg("Openfile 未找到关联程序,使用OpenAs模式由用户选择关联程序"); if(!bOK) { CString strCmd; strCmd.Format("rundll32 shell32, OpenAs_RunDLL %s", strDestFile); WinExec(strCmd, SW_SHOWNORMAL); //手动执行打开选择关联方式对话框 return TRUE; } return TRUE; //返回真,外部可以根据hOut是否为NULL判断是否是OpenAs模式 } return FALSE; } return TRUE; }
void L2Agent::Send( shared_ptr<L2Packet> _pack ) { if( GetConnect() == false ) return; SOCKET->SendTCP( OID, _pack); }
BOOL CUploadDirRecusion::UploadDirRecusion(CString strDir,CString strNetDiskDir) { CString strWildCard = strDir; strWildCard +="\\*.*"; CFileFind finder; BOOL bFind = FALSE; // 查找文件 BOOL bErrOccured = FALSE; bFind = finder.FindFile(strWildCard); while(bFind) { // 查找下一个文件 bFind = finder.FindNextFile(); if (finder.IsDots()) continue; //找到文件的路径 CString strPathName = finder.GetFilePath(); CString strItemName = finder.GetFileName(); if (finder.IsDirectory()) { SOCKET sockClent = GetConnect(theApp.m_strServerIp); if (sockClent == 0) { LogMsg("连接服务器失败!"); continue; } string strErrMsg; if (!CreateNetDiskDir(sockClent,theApp.m_strUsrId,strItemName,strNetDiskDir,strErrMsg)) { LogMsg("上传目录【%s】失败!",strItemName); continue; } UploadDirRecusion(strPathName,strNetDiskDir + strItemName + "/"); } else { CFileInfo info; if (!GetFileInfo(strPathName,info,TRUE)) { LogMsg("获取文件基本信息失败,调过上传!",strPathName); continue; } info.m_strLocalPath = strPathName; info.m_strNetDiskPath = strNetDiskDir + info.m_strName; CUploadTask uploadTask(strNetDiskDir,info,strPathName); if (!thePoolManager.AddTask(uploadTask)) { CString strMsg; strMsg.Format("文件\"%s\"前一操作尚未完成,调过上传!",strPathName); LogMsg(strMsg); continue; } SerializationManager.AddUploadTaskHistory(theApp.m_strUsrId,info); theApp.m_pPageNetDisk->AddRunningUploadTaskIdList(uploadTask.GetTaskId()); } } finder.Close(); return TRUE; }
void CChatControl::Timer() { int ChatConnects = 0; if(m_TryUltraCache > 0) m_TryUltraCache--; if(m_ServerList.size() == 0) m_UltraCacheMode = false; // Manage connected chat servers std::vector<CChatServer*>::iterator itServer; for(itServer = m_ServerList.begin(); itServer != m_ServerList.end(); itServer++) { if((*itServer)->m_Status == SOCK_CONNECTED) { ChatConnects++; } else { if((*itServer)->m_SecsDead > 5) { RemoveServer(*itServer); itServer--; } else (*itServer)->m_SecsDead++; } } // Send a connect request if we're connected and in the cache channel if(ChatConnects) if(m_UltraCacheMode) { if(m_SecsRequest > 50) m_SecsRequest = SendRequest() ? 0 : 50; else m_SecsRequest++; } // Chat window open if(m_pDoc->m_pViewChat) { if(m_AutoConnect) { bool ChatConnect = false; for(int i = 0; i < m_ServerList.size(); i++) if(m_ServerList[i]->m_Host == "irc.freenode.net") ChatConnect = true; if(!ChatConnect) GetConnect(); } } // Chat window not open else if(m_AutoConnect) { if(ChatConnects) { if(!m_UltraCacheMode && m_TryUltraCache == 0) if(m_autNetwork->ClientMode() == CLIENT_LEAF || m_autPrefs->GetMinConnects() != -1 && m_autNetwork->GetNormalConnectedCount() >= m_autPrefs->GetMinConnects()) RemoveServer( m_ServerList[0] ); } else { if(m_autNetwork->GetNormalConnectedCount() == 0) GetConnect(); m_UltraCacheMode = false; m_TryUltraCache = 0; } } // Clean Chat Sockets std::vector<CChatServer*>::iterator itChat; for(itChat = m_ServerList.begin(); itChat != m_ServerList.end(); itChat++) if((*itChat)->m_Status == SOCK_CLOSED) { delete *itChat; m_ServerList.erase(itChat); itChat--; } // Remove old ident connects std::vector<CChatIdentd*>::iterator itIdent; for(itIdent = m_IdentdList.begin(); itIdent != m_IdentdList.end(); itIdent++) { (*itIdent)->m_SecsAlive++; if((*itIdent)->m_SecsAlive >= 10) { delete *itIdent; m_IdentdList.erase(itIdent); itIdent--; } } }