⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 socket_api.h

📁 网络游戏通用架构, 这是基于boost和libevent写的一个程序
💻 H
字号:
#ifndef SOCKET_API_H
#define SOCKET_API_H

    #ifndef _WIN32//POSIX
        #include <stdio.h>
        #include <sys/time.h>
        #include <sys/types.h>
        #include <sys/socket.h>
        #include <arpa/inet.h>        #include <netinet/in.h>
        #include <fcntl.h>

        typedef int SOCKET;
        int INVALID_SOCKET= -1;
    #else//Win32
        #include <winsock.h>

        typedef SOCKADDR_IN sockaddr_in;
    #endif

    #include <iostream>
    #include <event.h>

    using namespace std;

    inline int socket_init(void);
    inline void setnonblocking( SOCKET __s );
    inline int socket_shutdown( SOCKET __s );
    inline int sockets_shutdown(void);
    inline void print_error( const char* __predesc );

    #ifndef _WIN32//POSIX        int socket_init(void)        {            return 0;        }        void setnonblocking( SOCKET __s )        {            fcntl( __s, F_SETFL, O_NONBLOCK );        }        int socket_shutdown( SOCKET __s )        {            return shutdown( __s, 2 );        }        int sockets_shutdown(void)        {            return 0;        }        void print_error( const char* __predesc )        {            perror( __predesc );        }    #else//Win32        int socket_init(void)        {            WSADATA wsad;            WORD wVersionReq= MAKEWORD(1,1);            return WSAStartup( wVersionReq, &wsad );        }        void setnonblocking( SOCKET __s )        {            ULONG nonBlock = 1;            ioctlsocket( __s, FIONBIO, &nonBlock );        }        int socket_shutdown( SOCKET __s )        {            return closesocket( __s );        }        int sockets_shutdown(void)        {            return WSACleanup();        }        void print_error( const char* __predesc )        {            cerr << __predesc << ": " << WSAGetLastError() << endl;        }    #endif

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -