用4线程同时从4个端口接收数据并存入数据库,只是4个简单的insert操作,
每个数据包括35个数据项,请问怎么解决
DWORD WINAPI Fun1Proc(LPVOID lpParamenter)
{
SOCKET sockSrv=socket(AF_INET,SOCK_DGRAM,0);
SOCKADDR_IN addrSrv;
addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
addrSrv.sin_family=AF_INET;
addrSrv.sin_port=htons(19001);
bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));
WH_PRACTIVE_HEAD datahead;
WH_PRAC_BQUOTE datainfo;
SOCKADDR_IN addrClient;
int len=sizeof(SOCKADDR);
char recdata[1024]={0};
char sqlstr[1024]={0};
int num=1;
int i=0;
while(1)
{
cout<<i++<<endl;
WaitForSingleObject(hMutex,INFINITE);
recvfrom(sockSrv,recdata,1024,0,(SOCKADDR*)&addrClient,&len);
memcpy(&datahead,recdata,sizeof(datahead));
memcpy(&datainfo,recdata+sizeof(datahead),sizeof(datainfo));
if(datahead.flag==0x98ac&&datahead.length==170)
{
Sleep(1);
sprintf(sqlstr,"INSERT INTO此处是个插入语句" );
// cout<<sqlstr<<endl;
mysql_query(&mydata,sqlstr);
}
ReleaseMutex(hMutex);
}
cout<<"thread1finished"<<endl;
closesocket(sockSrv);
return 0;
}
每个数据包括35个数据项,请问怎么解决
DWORD WINAPI Fun1Proc(LPVOID lpParamenter)
{
SOCKET sockSrv=socket(AF_INET,SOCK_DGRAM,0);
SOCKADDR_IN addrSrv;
addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
addrSrv.sin_family=AF_INET;
addrSrv.sin_port=htons(19001);
bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));
WH_PRACTIVE_HEAD datahead;
WH_PRAC_BQUOTE datainfo;
SOCKADDR_IN addrClient;
int len=sizeof(SOCKADDR);
char recdata[1024]={0};
char sqlstr[1024]={0};
int num=1;
int i=0;
while(1)
{
cout<<i++<<endl;
WaitForSingleObject(hMutex,INFINITE);
recvfrom(sockSrv,recdata,1024,0,(SOCKADDR*)&addrClient,&len);
memcpy(&datahead,recdata,sizeof(datahead));
memcpy(&datainfo,recdata+sizeof(datahead),sizeof(datainfo));
if(datahead.flag==0x98ac&&datahead.length==170)
{
Sleep(1);
sprintf(sqlstr,"INSERT INTO此处是个插入语句" );
// cout<<sqlstr<<endl;
mysql_query(&mydata,sqlstr);
}
ReleaseMutex(hMutex);
}
cout<<"thread1finished"<<endl;
closesocket(sockSrv);
return 0;
}
解决方案 »
- GreenPlum 数据库时间函数
- 弱弱的问下if exists这样的句子要怎么使用
- 错误1045 (28000): Access denied for user 'root'@'localhost'?
- windows server2008 R2上安装SQL Server2005时出错
- 在线等:::::::多条件排序问题
- 请教一个存储过程的问题
- 怎么写bb为2006-04-09的 查询条件阿?
- 200万条记录的在count与limit时速度很慢,求解决方案
- Fatal error: Maximum execution time of 30 seconds exceeded in E:\export\home\wwwroot\enspc\spc\searchresults.php on line 125
- MySQL现在最新版支持中文的全文索引(中文的FULL TEXT)吗?
- 如何查询多字段不重复记录
- MySQL创建连接时无响应,也不报错,求大神帮忙
这时候手动去数据库里面插入数据 试试数据库是否正常