MFC不像控制台在MAIN函数里写代码,先添加控件,控件添加事件函数,然后再事件函数里写代码,如果服务器未开启,就去连接,会卡住。测试成功与否可以用MessageBox(_T(“xxx”));
//建立连接
char sendBuf[512];
CString sendStr;
WORD wVersion;
WSADATA wsaData;
int err;
wVersion = MAKEWORD(1, 1);
err = WSAStartup(wVersion, &wsaData);
if (err != 0) { return ; }
if (LOBYTE(wsaData.wVersion) != 1 || HIBYTE(wsaData.wVersion) != 1) {
WSACleanup(); return;
}
// 创建tcp套接字
SOCKET sockCli = socket(AF_INET, SOCK_STREAM, 0);
SOCKADDR_IN addrSrv;
addrSrv.sin_addr.S_un.S_addr = inet_addr("192.168.0.106");//服务器地址127.0.0.1是本机
addrSrv.sin_family = AF_INET;
addrSrv.sin_port = htons(6000);//端口
//向服务器发起连接请求
connect(sockCli, (SOCKADDR*)& addrSrv, sizeof(SOCKADDR));
// 发送数据
sendStr = m_machineCode;
char *buff;
buff=sendStr.GetBuffer(sendStr.GetLength());
sendStr.ReleaseBuffer();
//sprintf_s(sendBuf, sizeof(sendStr), (const char*)&sendStr);//字符串转字符数组
send(sockCli, buff, strlen(sendStr)+1, 0);//发送
接收数据
char recvBuf[24]; //time_t start; time(&start);
recv(sockCli, recvBuf, sizeof(recvBuf), 0);
// 关闭套接字
closesocket(sockCli);
WSACleanup();
版权声明:本文为weixin_37520565原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。