此文章参考:
http://www.cnblogs.com/zzqcn/p/4840589.html
这里简单的贴出两份代码,更多详细资料请参考上面文章。
C语言代码:
#include <WinSock2.h>
#include <stdio.h>
#include <time.h>
#pragma comment(lib, "ws2_32.lib")
#define UDP_PORT_FOO 9877
struct proto_foo
{
UINT8 type;
UINT8 flags;
UINT16 seqno;
UINT32 ipaddr;
};
int main(int argc, char** argv)
{
int ret;
SOCKET sockfd;
SOCKADDR_IN addr;
proto_foo data;
INT16 seq = 1;
WORD dwVersion = MAKEWORD(2, 2);
WSAData wsaData;
WSAStartup(dwVersion, &wsaData);
sockfd = socket(AF_INET, SOCK_DGRAM, 0);
addr.sin_family = AF_INET;
addr.sin_port = htons(UDP_PORT_FOO);
if(argc < 2)
{
printf("will send to 220.181.57.217\n");
addr.sin_addr.s_addr = inet_addr("220.181.57.217");
}
else
addr.sin_addr.s_addr