工作过程:
客户端:C语言开发 已经开发完毕!
服务端:狐表平台
工作环境:
加油机为客户端,加油站办公室为服务端。
有N(不超过30台)台加油机连接到服务器!
工作过程:
客户端主动连接服务端。服务端被动监听端口!
第一次连接客户端发送一个唯一识别号,服务端返回指定参数!
第一次连接成功后,每10秒钟客户端会发送一个心跳包到服务端。服务端根据收到的命令返回指定指令!
当有人加油的时候,停止心跳包发送。
根据加油机上传的指令进行返回值!
特殊要求:socke连接服务端要向加油机发送sqlite数据库!
将狐表的指定表保存为sqlite数据库并发送到加油加!
有兴趣的朋友可以留下QQ,我会主动联系!
//debug cout<< "recv baoh:"<<baoh_chs<<endl; cout<< "recv size:"<<&baoh_chs[5]<<endl; string str(&baoh_chs[5]); istringstream istm_length(str); ssize_t cmd_size; istm_length>>cmd_size; //cout<<"get recv size cmd_size="<<cmd_size<<endl; char *cmd_chs=new char[cmd_size+1]; bzero(cmd_chs,cmd_size+1); length = recv(client_socket,cmd_chs,cmd_size=1 ,0); if(length<0) { cout<<" error recv client_socket,cmd_chs: "<<endl; // goto DO_ERRw; } content.clear(); content=string(cmd_chs); cout<<"recv cmd:"<<"recv len:"<<length<<endl<<"cont:"<<content <<endl;
cout<<(int)cmd_chs[0]<<endl<<(int)cmd_chs[1]<<endl;
// int tt;
// for(tt=0;tt<4;tt++)
// printf("cmd_chs[%d]=%d\n",tt,cmd_chs[tt]);
delete baoh_chs;
delete cmd_chs;
return 0;
DO_ERRw:
delete baoh_chs;
delete cmd_chs;
return 1;
}
int socket_cls::close_sev()
{
close(client_socket);
return 0;
}
ssize_t socket_cls::baoh_size(void)
{
return baoh.length();
}
socket_cls::~socket_cls()
{
}