环境:vscode+cmake
源码中引用头文件:
#include <winsock2.h>
#include <ws2tcpip.h>
#pragma comment(lib, "ws2_32.lib")
#pragma comment(lib, "wsock32.lib")
需要先调用:WSAStartup初始化:
代码:
int test(char *ip, char *message, int len)
{
WSADATA wsaData;
SOCKET sock;
struct sockaddr_in server;
int result;
WSAStartup(MAKEWORD(2,2),&wsaData);
sock = socket(AF_INET , SOCK_STREAM , 0);
if (sock == INVALID_SOCKET) {
printf("Could not create socket : %d" , WSAGetLastError());
}
server.sin_addr.s_addr = inet_addr(ip);
server.sin_family = AF_INET;
server.sin_port = htons( 7073 );
if (connect(sock , (struct sockaddr *)&server , sizeof(server)) < 0) {
puts("connect error");
return 1;
}
result = send(sock , message , len , 0 );
if (result == SOCKET_ERROR) {
printf("send failed: %d\n", WSAGetLastError());
}
else
printf("Data Sent\n");
closesocket(sock);
WSACleanup();
return 0;
}