编网络程序是否一定要先加载WSAStartup函数?我在《Windows网络编程》(人民邮电出版社)的配套光盘中第七章的winping程序中怎么也找不到这个函数,如果一定要的话,那么一般像这样的windows程序会在哪里加载,哪里用cleanup卸载?

解决方案 »

  1.   


    WSAStartup(MAKEWORD(2,2),&wsd)?是初始化Ws2_32.dllMAKEWORD()
    是版本号,高字节为次版本号,低字节为主版本号,为2.2版本wsd返回WSADATA数据为SOCKET的详细信息
      

  2.   

    不一定,也可以用AfxSocketInit不过,该函数同样是调用WSAStartup
      

  3.   

    不使用CSocket时,要使用WSAStartup(m_version,(LPWSADATA)&&wsadata)
    需要:
    #include <winsock.h>#pragma comment(lib,"wsock")above for socket 1.1
      

  4.   

    一齐用: WSADATA WSAData;
    if ( WSAStartup(0x0101, &WSAData))  //MAKEWORD(1,1)
    {
    MessageBox("Wsock32.dll can't be initialized", "Server Warning", MB_ICONEXCLAMATION);
    PostQuitMessage(0);
    }         /*
             askljdklsajfksadjfljsa
             asdkljfklsadjfasjkldfklsa
             */ WSACleanup();
      

  5.   

    WSAStartup()是载入ws2_32.dll模块或其他版本的相应模块,然后才能调用里面的socket API
    WSACleanup()就是卸载模块,在你清理了所有socket后调用这个这两个一般配对使用
      

  6.   

    很多书上都说这是初始化socket库。
    可是我写过的有些程序没有调用这个函数,socketapi亦可执行
    学习ing!
      

  7.   

    肯定是要使用WSAStartup(MAKEWORD(2,2),&wsd)这个,任何一个与socket有关的程序都要使用之有的时候虽然没有WSAStartup,但是程序肯定也使用了AfxSockInit();但是AfxSockInit()本质上也还是使用的WSAStartup,但是只是其初始化的是旧版本的1.1are u clear??^_^