通过域名进行socket

请问如何利用SOCKET解析域名?
 比如我的一台服务器是绑定了域名,那些客户端想和服务器进行通信,但只能通过域名来通信。
 那该如何利用SOCKET靠域名和服务器通信啊?

  1. #pragma comment(lib, "ws2_32")

  2. #include <winsock2.h>
  3. #include <stdio.h>
  4. #include <assert.h>

  5. int main()
  6. {
  7.     struct hostent *host;
  8.     WSADATA wsaData;
  9.     int ret;

  10.     ret = WSAStartup(0x0202, &wsaData);
  11.     if(ret)
  12.     {
  13.         printf("error in WSAStartup: %d\n", WSAGetLastError());
  14.         return 0;
  15.     }

  16.     host = gethostbyname("www.baidu.com");
  17.     if(host == NULL)
  18.     {
  19.         printf("error in gethostbyname: %d\n", WSAGetLastError());
  20.     }
  21.     else
  22.     {
  23.         printf("name: %s\naddrtype; %d\naddrlength: %d\n",
  24.             host->h_name, host->h_addrtype, host->h_length);
  25.         printf("ip address: %s\n",
  26.             inet_ntoa(*(struct in_addr*)host->h_addr_list[0]));
  27.     }

  28.     WSACleanup();
  29.     return 0;
  30. }

 输出:
 name: www.a.shifen.com
 addrtype; 2
 addrlength: 4
 ip address: 202.108.22.5

转载于:https://www.cnblogs.com/black/p/5171854.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值