Window API socket连接 client

来源:互联网 发布:java微信发送消息源码 编辑:程序博客网 时间:2024/04/30 02:42

本文socket client 与 server 同一端口通信

client端口的代码

#include <windows.h>/**** Function: SOCKET连接请求函数* para:* para:* Return:**/bool SocketConnect(QString serverip, int sendport){    PosLog.log->info("enter SocketConnect");    WSADATA wsaData;    SOCKADDR_IN server_addr;/* windows处理相关 */    WORD wVersion;    wVersion = MAKEWORD(2,2);    WSAStartup(wVersion,&wsaData);/* 配置TCP/IP协议 */    server_addr.sin_addr.s_addr = inet_addr(serverip.toUtf8().data());    server_addr.sin_family = AF_INET;    server_addr.sin_port = htons(sendport);/* 连接server */    if( (sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) == INVALID_SOCKET)    {        PosLog.log->info("Socket Connect INVALID");        return false;    }    if(connect(sock, (struct sockaddr *)&server_addr, sizeof(SOCKADDR_IN)) == SOCKET_ERROR)    {        PosLog.log->info("Socket Connect ERROR");        return false;    }    else    {        PosLog.log->info("Socket Connect Success");        return true;    }}/**** Function: SOCKET发送数据* para:* para:* Return:**/bool SendSocketData(QString inPutMsg , QString& outPutMsg){    int res = 0;    char msg[1024*20] = {'\0'};/* 发送数据 */    if(send(sock, inPutMsg.toUtf8().data(), inPutMsg.length(), 0) == SOCKET_ERROR)    {        return false;    }    else    {   /* 设置socket超时断开 */int recvTimeout = 10 * 1000;  //10s超时setsockopt(sock, SOL_SOCKET, SO_RCVTIMEO, (char *)&recvTimeout ,sizeof(int));        /* 接收服务器返回数据 */        if((res = recv(sock, msg, 1024*20, 0)) == -1)        {            PosLog.log->info("fail to receive data from server");        }        else        {            outPutMsg = QString::fromUtf8(msg);            //PosLog.log->info("outPutMsg:"+outPutMsg);            memset(msg, '\0', sizeof(msg));        }    }    return true;}





阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 农村钢架结构房屋图 湖南火灾烧毁62栋房屋 10万元农村钢架结构房屋图 南宁住房保障和房屋管理局 房山 房山区 房山信息网 网聚房山 房山公棚 房山邮编 房山房价 房山区邮编 房山线 房山八景 北京房山区 地铁房山线 房山吧 房山景点 房山招聘 房山线北延 房山旅游 房山招聘网 房山二手房 房山良乡 房山红井路 房山招聘网聚房山 房山区房价 房山中医院 房山人才 房山房产网 房山网 网聚房山网 房山房产 房山人才网 房山房地产 房山地铁 房山信息 房山出租房 房山新盘 房山装修 房山 新盘