以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  项目需求  (http://foxtable.net/bbs/list.asp?boardid=6)
----  想请人做个socket的类,有兴趣的出价格~!  (http://foxtable.net/bbs/dispbbs.asp?boardid=6&id=72826)

--  作者:lhpc120
--  发布时间:2015/8/6 23:06:00
--  想请人做个socket的类,有兴趣的出价格~!
工作过程:

客户端:C语言开发  已经开发完毕!
服务端:狐表平台
工作环境:
加油机为客户端,加油站办公室为服务端。

有N(不超过30台)台加油机连接到服务器!

工作过程:
客户端主动连接服务端。服务端被动监听端口!

第一次连接客户端发送一个唯一识别号,服务端返回指定参数!

第一次连接成功后,每10秒钟客户端会发送一个心跳包到服务端。服务端根据收到的命令返回指定指令!

当有人加油的时候,停止心跳包发送。
根据加油机上传的指令进行返回值!

特殊要求:socke连接服务端要向加油机发送sqlite数据库!
将狐表的指定表保存为sqlite数据库并发送到加油加!


有兴趣的朋友可以留下QQ,我会主动联系!


--  作者:狐狸爸爸
--  发布时间:2015/8/7 8:17:00
--  
 这个官方已经有了的,2015版。
--  作者:wei0769
--  发布时间:2015/8/7 9:27:00
--  
2015什么时候发布?
--  作者:深呼吸
--  发布时间:2015/8/7 10:44:00
--  
QQ166699, 有意向有空聊聊
--  作者:lhpc120
--  发布时间:2015/8/9 18:14:00
--  
    //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()
{
}