gethostbyname事Winsocket 1.0的函数,你必须使用2.0

解决方案 »

  1.   

    使用IPHELP函数,
    它能告诉你,你机器上所有SOCKET使用的详细情况。
      

  2.   

    gethostbyname返回的是一个表,包含了机器上的所有IP
      

  3.   

    还是不明白啊!
    2.0的函数名是什么啊?
    没有找到IPHELP这个函数啊?
    还请详细点,谢谢!
      

  4.   

    其实只要指定使用的界面如ETH0 或ETH1就可以
    用IPCONFIG /ALL 可以看到,WINSOCK中可以指定使用哪一个界面
      

  5.   

    先谢谢大家的帮助!
    本人还是有点不明白
    gethostbyname返回的是所有的IP,但我只要当前的IP,该取表中的那个呢?
    我要在程序中使用,所以不能使用IPCONFIG
    再次恳请大家给予帮助,非常感谢!
      

  6.   

    IPHELP并不是一个函数,而是一类函数,要使用这些函数,需要使用另外安装的SDK,因为VC并没有关于这些函数的头文件和库文件。其中的GetAdapterInfo函数可以解决你这个问题,详细用法可以查MSDN。
      

  7.   

    去vchelp.net看看一个程序,写有如何把所有的ip列出来。 
      

  8.   

    谢谢大家的热心,我再重申一下我的问题,
    我能得到本机所有IP地址,但我不知当前正在使用的是那个。
    另外,SDK我没有,大家能不能具体告送我到哪可以找到所需的函数。
    再次恳请大家的帮助!
      

  9.   

    我有个例程,可以获得所有网卡的IP,若需要给 Email
      

  10.   

    顺便要一个,[email protected],谢谢
      

  11.   

    非常感谢你的帮助,E_mail:[email protected]
    不知你的程序能不能知道这些IP中哪个是当前使用的IP(也就是别人能ping到的IP)
    再次大家的参与!
      

  12.   


    To: prog_st(st) 
    能寄给我一份吗?[email protected]
      

  13.   

    to bluesky137(bluesky):
    我认为你提的问题好象不清楚,你说要得到当前的IP,请问,什么是当前的IP?两个网卡都在工作。
      

  14.   

    对于多块网卡,创建多个SOCKET。采用SEND命令,使用SEND成功的SOCKET.否则无法获知
    那块网卡工作。如果两个网卡都在工作则随便选一个IP.