64,651
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <string>
#include <winsock2.h>
#pragma comment(lib, "WS2_32.lib")
#define BUF_SIZE 1024
int main(int argc, char* argv)
{
int nRet = -1;
WSADATA wsaData;
SOCKADDR_IN serverAddr;
SOCKET socketC;
char ip[20];
//char sendbuf[BUF_SIZE] ="HAND-SHAKE:L000000000000001:MCP-2:R30014::;";
char recvbuf[BUF_SIZE];
int port = 5000;
/*printf("请输入断口号:\n");
scanf_s("%d",&port);*/
WSAStartup(MAKEWORD(1,1), &wsaData);
serverAddr.sin_family = AF_INET;
serverAddr.sin_port = htons(port);
printf("请输入设备IP:\n");
scanf_s("%s",ip);
getchar();
serverAddr.sin_addr.s_addr = inet_addr(ip);
socketC = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (connect(socketC, (SOCKADDR*)&serverAddr, sizeof(serverAddr))<0)
{
printf("connect failed!\n");
return -1;
}
for(;;)
{
printf("\nsend msg:HAND-SHAKE:L000000000000001:MCP-2:R30014::;");
getchar();
char sendstr[64] = "HAND-SHAKE:L000000000000001:MCP-2:R30014::;";
int length = strlen(sendstr);
if (send(socketC, sendstr, length, 0) <=0)
{
printf("send failed\n");
return -1;
}
for(;;)
{
nRet = recv(socketC, recvbuf, sizeof(recvbuf), 0);
if (nRet>0)
{
recvbuf[nRet] = '\0';
printf("\nget msg length:%d\nmsg:%s\n",nRet,recvbuf);
}
}
}
closesocket(socketC);
WSACleanup();
}