互联网编制程序1

              *cout<<“you select ok “<<endl*;

    hostent* pht = gethostbyname(buf);

int  main()

 

       }else

    }

       {

        Sleep(3000);

     欢迎来到windows编程的世界,先给我们的windows打个招呼吧:

        cout <<“本地主机的名字是:” << buf << endl;

#include
<Windows.h>

        if( (chatSocket =
accept(serverSocket,(sockaddr*)&clientAddress,&addrlen))==
SOCKET_ERROR){

       if(iSelect==IDOK)

using namespace std;

using namespace  std;

 

              *cout<<“you select cancel”<<endl*;

        cout << WSAGetLastError() <<
endl;

{

         If the function return 0, 表示成功。

#include
<iostream>

        Sleep(3000);

       {

    WSACleanup();// 完成清理工作

       *system*(“pause”);

  1. WSAStartup 函数的介绍

       }

        }

   所谓windows编程就是指通过调用Windows
API来和操作系统交互的编程方式。API就是与操作系统交互的各种功能函数,MessageBox就是一个API,调用它就可以弹出一个对话框。

        int addrlen = sizeof(clientAddress);

}

    WSADATA wsa ;//
WSADATA 结构是用来保存函数WSAStartup 返回的Windows
socket初始化信息

       int iSelect=MessageBox(NULL,TEXT(“你好,windows世界,我来了!”),TEXT(“你好,世界”),MB_OKCANCEL);

    }

       return  0;

    if( gethostname(buf,sizeof(buf)) ==
SOCKET_ERROR  ){

        cout << “h_aliases:” <<
pht->h_aliases << endl;

   
memset(&serverAddress,0,sizeof(serverAddress));

 

        cout << “h_name:”<<
pht->h_name << endl;

                  
wVersionRequest: 一个双字节数值, 使用MAKEWORD(2,2)生成;

 

 

        cout << “绑定套接字端口失败” << endl;

    }

3.2获取主机的IP
gethostbyname(const char* name);

#include <Windows.h>

            continue;

 

3.常见的一些函数在WinSocket编程中使用的介绍

        Sleep(3000);

    }else{

    return 0;

        cout << “h_aliases:” <<
pht->h_aliases << endl;

        cout << WSAGetLastError() <<
endl;

         参数介绍:

         开启Windows Sock
Asynchronous,对应当程序结束的时候,就应该关闭,WSACleanup()用于接触于Socket库的绑定并且释放掉Socket库所占用的系统资源。

        cout << “套接字初始化失败”<<  endl;

         并且需要使用静态链接库,

    }

    int listen_port = 8999;

        }

 

        exit(-1);

 

 

}

    WSADATA wsa ;//
WSADATA 结构是用来保存函数WSAStartup 返回的Windows
socket初始化信息

        sockaddr_in clientAddress;

hostent* pht =
gethostbyname(“www.google.com”);

        }else{

 

 

 

        cout << “成功监听端口:”<< listen_port  << endl;

 

    if( bind(serverSocket,(sockaddr*)&serverAddress,
sizeof(serverAddress)) == SOCKET_ERROR){

        exit(-1);

         WSAStartup是Windows SockNDs Asynchronous(Windows 异步套接字) 的启动命令, windows下的网络编程软件Winsock1,
Winsock2的一个命令。

    if(pht==NULL){

3.1 gethostname() // 获取本地主机的主机名

 

    if(serverSocket == INVALID_SOCKET){

         这里使用的是编译语句#pragma comment(lib,”ws2_32.lib”) 相当于将ws2_32.lib静态链接库加入到项目中,效果和添加引用是一样的。

    }else{

#pragma comment(lib,”ws2_32.lib”)

    }else{

        cout << WSAGetLastError() <<
endl;

    char buf[255];

         ws2_32.lib对应的是ws2_32.dll,提供对于常见网络编程的API接口支持,使用其中的网络接口就需要将ws2_32.dll添加到工程,否则需要动态的加载ws2_32.dll。

    while(true){

using namespace std;

#include <iostream>

    }

         Return Value:无错误的话,返回0,反之返回对应的错误代码。

        //cout << AF_INET <<
endl;

        cout << WSAGetLastError() <<
endl;

    if( listen(serverSocket,SOMAXCONN) ==
SOCKET_ERROR){

发表评论

电子邮件地址不会被公开。 必填项已用*标注