现在的位置: 首页 > 综合 > 正文

UDP服务器/客户端

2018年06月06日 ⁄ 综合 ⁄ 共 1483字 ⁄ 字号 评论关闭

UDP客户端源程序
#include   <stdio.h>
#include   <winsock2.h>
#pragma   comment(lib,   "WS2_32.lib")

#define   BUF_SIZE         1024
#define   SERVER_IP       "127.0.0.1"
#define   SERVER_PORT   5678

int   main(int   argc,   char**   argv)
{
        WSADATA   wsaData;
        SOCKET     socketC;
        SOCKADDR_IN   serverAddr;
        char   sendbuf[BUF_SIZE]   =   "Hello   UDP   World!";

        WSAStartup(MAKEWORD(1,1),   &wsaData);

        socketC   =   socket(AF_INET,   SOCK_DGRAM,   IPPROTO_UDP);

        serverAddr.sin_family   =   AF_INET;
        serverAddr.sin_port   =   htons(SERVER_PORT);
        serverAddr.sin_addr.s_addr   =   inet_addr(SERVER_IP);
       
        sendto(socketC,   sendbuf,   sizeof(sendbuf),   0,   (SOCKADDR*)&serverAddr,   sizeof(serverAddr));

        closesocket(socketC);

        WSACleanup();

       return 0:
}

UDP服务器端源程序
#include   <stdio.h>
#include   <winsock2.h>
#pragma   comment(lib,   "WS2_32.lib")

#define   BUF_SIZE         1024
#define   SERVER_IP       "127.0.0.1"
#define   SERVER_PORT   5678

int   main(int   argc,   char**   argv)
{
        WSADATA   wsaData;
        SOCKET     socketC;
        SOCKADDR_IN   serverAddr;
        char   recvbuf[BUF_SIZE];

        WSAStartup(MAKEWORD(1,1),   &wsaData);

        socketC   =   socket(AF_INET,   SOCK_DGRAM,   IPPROTO_UDP);

        serverAddr.sin_family   =   AF_INET;
        serverAddr.sin_port   =   htons(SERVER_PORT);
        serverAddr.sin_addr.s_addr   =   htonl(INADDR_ANY);

        bind(socketC,   (SOCKADDR*)&serverAddr,   sizeof(serverAddr));

        int   nRet   =   recvfrom(socketC,   recvbuf,   sizeof(recvbuf),   0,   0,   0);
        if   (nRet   >   0)
                printf("%s   ",   recvbuf);

        closesocket(socketC);

        WSACleanup();

       return 0:

 

更多技术文章请参看施昌权的个人网站: http://www.joyvc.cn

 

 

抱歉!评论已关闭.