Windows下UDP编程 服务器

在windows平台下UDP协议的服务器实现

#include   "stdafx.h"
#include   <iostream>
#include   "winsock2.h"

#pragma   comment (   lib ,   "WS2_32.lib"   )

using   namespace   std ;
int   _tmain (   int   argc   ,   _TCHAR *   argv [])
{
        WSADATA   wsaData   ;
        WSAStartup (   MAKEWORD   ( 2, 2 ), & wsaData   );

      // 创建Socket
        SOCKET   RecvSocket   ;
        RecvSocket   =   socket   (   AF_INET ,   SOCK_DGRAM ,   IPPROTO_UDP   );

      // 设置Socket的一些属性  比如IP地址,端口号
        sockaddr_in   RecvAddr   ;
        RecvAddr . sin_family   =   AF_INET ;
        int   Port   = 27015;
        RecvAddr . sin_port   =   htons (   Port );
        RecvAddr . sin_addr   . s_addr   =   htonl (   INADDR_ANY   );

      // 绑定
        bind (   RecvSocket   , ( SOCKADDR   *)&   RecvAddr ,   sizeof   ( RecvAddr ) );

        cout << "Receiving datagrams... ...."   << endl ;
        char   RecvBuf   [1024];
        int   BufLen   = 1024;
        sockaddr_in   SenderAddr   ;
        int   SenderAddrSize   =   sizeof (   SenderAddr   );
     
        while (1)
     {
          // 通过UDP协议 从客户端接收数据
             recvfrom (   RecvSocket   ,   RecvBuf ,   BufLen , 0, ( SOCKADDR   *)& SenderAddr , &   SenderAddrSize   );
             cout << "Receiving Data "   << RecvBuf <<   "From IP__" <<   inet_ntoa ( SenderAddr   . sin_addr )<<   "   Port___" <<   SenderAddr . sin_port   << endl ;
     }
     
        cout << "Finish"   << endl ;
        closesocket (   RecvSocket   );
        cout << "Exiting"   << endl ;
        WSACleanup ();

        return   0;
}
  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值