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

📄 socketdef.h

📁 C++ patterns设计模式
💻 H
字号:
#ifndef INCLUDED_SOCKETDEF_H
#define INCLUDED_SOCKETDEF_H

#if defined(HAS_PRAGMA_ONCE)
#pragma PRAGMA_ONCE_DECLARE
#endif

//for *NUX
#ifdef __linux__
	#include <sys/types.h>
	#include <sys/socket.h>
	#include <netinet/in.h>
	#include <arpa/inet.h>

	#include "win32types.h"
	#define  SOCKET int
	#define  INVALID_SOCKET SOCKET(~0)
	inline   int closesocket(int fd) { return ::close(fd); }
    #define  bootupSocket()
	#define	 shutdownSocket()

#else   //for windows
	#include <winsock.h>
	#pragma  comment(lib , "ws2_32.lib")	

    #ifndef WINSOCK_VERSION
    #define WINSOCK_VERSION		MAKEWORD(2, 2)
    #endif
    #define MINIMIZE_PORT		1024
    #define shutdownSocket()	WSACleanup()
	#define socklen_t int
    inline bool	bootupSocket()
    {
        WSADATA wsa;
        int ret;
        ret = WSAStartup(WINSOCK_VERSION, &wsa);
        return ret == 0;
    }

#endif  //__linux__

enum SOCKET_TYPE
{ 
    IP_SOCKET, 
    UDP_SOCKET, 
    TCP_SOCKET
};

enum RECV_RET
{
    RECV_OK             = 0,
    RECV_CLOSE          = 1,              
    RECV_SOCKET_ERROR   = 2,
    RECV_USER_ERROR     = -1
};

#endif  //SOCKETDEF_H

⌨️ 快捷键说明

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