winsock应用

#include <Winsock2.h>
#include <iostream>
#include <string>
#pragma comment(lib,"ws2_32.lib")
using namespace std;

void main()
{
    //加载套接字库
    WORD wVersionRequested;
    WSADATA wsaData;
    int err;

    wVersionRequested = MAKEWORD( 1, 1 );
    err = WSAStartup( wVersionRequested, &wsaData );//该函数的功能是加载一个Winsocket库版本
    if ( err != 0 ) {
        return;
    }
    if ( LOBYTE( wsaData.wVersion ) != 1 ||
        HIBYTE( wsaData.wVersion ) != 1 ) {
            WSACleanup( );
            return;
    }

    //解析域名获得 IP 地址
    hostent* pHostent = gethostbyname("www.lovezou.com");
    sockaddr_in  sa;
    ZeroMemory(&sa, sizeof(sa));

    //获得 IP 地址
    memcpy(&sa.sin_addr.s_addr,pHostent->h_addr_list[0],pHostent->h_length); 

    //将 ID 地址转为字符串形式,输出 IP 地址
    string strTemp = inet_ntoa(sa.sin_addr);
    cout<<strTemp<<endl;

    //结束套接字库的调用
    WSACleanup();
    system("pause");
}

内容来源于此博客

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-08 22:08:34

winsock应用的相关文章

Winsock 入门 Echo 示例

1 #include <stdio.h> 2 #include <winsock2.h> 3 4 #pragma comment(lib, "ws2_32") /* WinSock 使用的库函数 */ 5 6 #define ECHO_DEF_PORT 7 /* 侦听的缺省端口 */ 7 #define ECHO_BUF_SIZE 256 /* 缓冲区的大小 */ 8 9 int main(int argc, char **argv) 10 { 11 WSADA

winsock库

加载Winsock库函数 : WSAStartup 1 int WSAStartup( 2 WORD wVersionRequested,//指定想要加载的winsock库 3 LPWSADATA lpWSAData//指向 WSADATA的指针,用来返回DLL库的详细信息 4 ); WSADat头结构 1 typedef struct WSAData 2 { 3 WORD wVersion; //库文件建议应用程序使用的版本 4 WORD wHighVersion; //库文件支持的最高版本

基于UDP的Winsock编程(C++版)

基于UDP的Winsock编程与基于TCP的Winsock编程相比,只是缺少了一个步骤而已.对于Server,缺少了接受连接的过程(accept()函数调用):对于Client,缺少了请求连接的过程(connect()函数调用). 另外与TCP区别的还有,在UDP中,数据收发函数是:sendto(),和recvfrom()函数. 函数原型为: int sendto(SOCKET s,const char FAR *buf,int len,int flags,const struct sockad

netsh winsock reset

最近要在虚拟机上安装 git ,然后托管一个项目,搞得我是焦头烂额.今天下午我卸载了vmware workstation ,但是奇怪的事就发生了,我的google chrome 浏览器没法浏览网页了.打开浏览器就出现了以下的界面: 这时我输入了搜狐主页也出现了类似的提示,我想可能是 DNS 出错了,接着我又输入了 http://localhost ,发现正常(这是因为本地安装了IIS服务器,这个我事先就知道),所以我断定这不是浏览器的问题.接着又再次证实了这个猜测,我打开了火狐浏览器发现问题一样

Winsock 编程流程

最近看了<Window程序设计>感觉在网络方面讲的不错,讲的很通俗易懂,与大家一同交流 转载请注明出处:http://blog.csdn.net/u010484477谢谢^_^ 使用 Winsock 编程的一般步骤是比较固定的. 1.Winsock 库的装入.初始化和释放 所有的 WinSock 函数都是从 WS2_32.DLL 库导出的,VC++在默认情况下并没有连接到该库,如果想使用 Winsock API,就必须包含相应的库文件. #pragma commment(lib, "

Windows平台VC++ 6.0 下的网络编程学习 - 简单的测试winsock.h头文件

最近学习数据结构和算法学得有点累了(貌似也没那么累...)...找了本网络编程翻了翻当做打一个小基础吧,打算一边继续学习数据结构一边也看看网络编程相关的... 简单的第一次尝试,就大致梳理一下看书+自己理解的东西. 1.首先是对Winsock的一点介绍:Winsock是一种标准的API(应用程序编程接口),主要用于网络中的数据通信,它允许两个应用程序在同一台机器上或通过网络相互通信.需要注意的是Winsock和协议无关,使用Winsock编程接口,应用程序可通过普通网络协议如:TCP/IP(网络

Winsock IO模型之select模型

之所以称其为select模型是因为它主要是使用select函数来管理I/O的.这个模型的设计源于UNIX系统,目的是允许那些想要避免在套接字调用上阻塞的应用程序有能力管理多个套接字. int select( int nfds,                                                 // 忽略,仅是为了与Berkeley套接字兼容 fd_set* readfds,                                  // 指向一个套接字集合,

winsock开发重复定义问题

参考: VS2013使用winsock.h和winsock2.h发生冲突后的终极解决方法:http://www.cnblogs.com/Shirlies/p/5137548.html WINSOCK.H WINSOCK2.H的区别及函数重复定义的解决方法:http://blog.chinaunix.net/uid-24709751-id-4150975.html windows.h和winsock2.h解决办法:http://blog.csdn.net/J_hui/article/details

Winsock系列函数 及 Socket通信流程

Socket是一种网络通信机制 Winsock系列函数 1. Socket 创建socket 2. Connect 尝试连接远端Socket 3. Send 在某个Socket 向远端发送数据 4. Recv 接收远端数据 5. Closesocket 关闭连接 6. Listen 在某个Socket上建立监听 7. Accept 接收一条新的连接 (是接收连接而不是接收数据) 8. Bind 给一个Socket分配一个本地协议地址 9. Select 用于检测Socket状态,用于高级通信 1

WinSock网络编程基础(2)客户端

接下来说一下如何用WinSock创建基于TCP/IP模型的客户端和服务器. TCP可以提供两个计算机间可靠无误的数据传输,应用程序使用TCP通信时,会在两台计算机之间建立一个虚拟连接,连接之后计算机之间变可以以双向字节流进行数据交换. 下面说下简单的发送数据的客户端实现. 创建客户机的连接比较简单: 1.创建一个套接字,定义addrinfo对象并初始化这些值(该对象包含一个sockaddr结构) struct addrinfo *result = NULL, *ptr = NULL, hints