C/C++——WinSocket:Server端

来源:互联网 发布:嵌入式软件开发过程 编辑:程序博客网 时间:2024/05/17 07:56

时间:2016.11.05

Server端的套路


#include <WinSock2.h>#include <string>#pragma comment( lib, "ws2_32.lib" )int main( int argc, char* argv[] ){    /////////////////////////////////////////////    // 以下部分全部都是套路    WSADATA wsaData = {0};    wsaData.wVersion = 2;    wsaData.wHighVersion = 2;    // 协议版本2.2    int Err = WSAStartup( MAKEWORD( 2, 2 ), &wsaData );    if( Err != 0 )        return 0;    if( HIBYTE(wsaData.wVersion) != 2 ||        LOBYTE(wsaData.wVersion) != 2 )    {        WSACleanup();        return 0;    }    SOCKET ServerSocket = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP );    SOCKADDR_IN addrServer;    addrServer.sin_addr.S_un.S_addr = inet_addr( "127.0.0.1" );    // 关联80端口    // cmd netstat -ano 查看端口占用情况    addrServer.sin_port = htons( 80 );    addrServer.sin_family = AF_INET;    int Len = sizeof(SOCKADDR);    int bRet = bind( ServerSocket, (SOCKADDR*)&addrServer, Len );    if( bRet != 0 )        return 0;    bRet = listen( ServerSocket, 10 );    if( bRet != 0 )        return 0;    SOCKADDR_IN addrClient;    SOCKET SendSocket = accept( ServerSocket, (SOCKADDR*)&addrClient, &Len );    /////////////////////////////////////////////    char* pIp = inet_ntoa( addrClient.sin_addr );    char Buffer[256] = {0};    strcpy( Buffer, "This is msg from server:192.168.40.178" );    bRet = send( SendSocket, Buffer, strlen( Buffer ), 0 );    recv( SendSocket, Buffer, 255, 0 );    WSACleanup();    return 0;}
0 0
原创粉丝点击