由于项目中偶尔会要求用c++实现小功能例如数据传输数据存储,因此在此记录一种简单的用法。
(此文章重点在于使用,不在于全面。)
代码如下:
#include <iostream>
#include <WinSock2.h>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
#pragma comment(lib,"WS2_32.lib")
void createUdpSend()
{
//初始化Socket
WSADATA wsaData;
WSAStartup(MAKEWORD(2, 2), &wsaData);
sockaddr_in sendAddr;
SOCKET sendSock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
sendAddr.sin_family = AF_INET;
sendAddr.sin_addr.s_addr = inet_addr("127.0.0.1");
sendAddr.sin_port = htons(9999);
while (true)
{
//发送数据
char buf[] = "hello world!";
//12为数据长度
sendto(sendSock, buf, 12, 0, (sockaddr*)&sendAddr, sizeof(sendAddr));
//send(sendSock, buf, 12, 0); //不可行
printf("send data: '%s'\n", buf);
Sleep(1000);
}
}
void main()
{
createUdpSend();
}
运行结果如下: