(自用型)windows/linux网络编程通用跨平台头文件定义

#ifndef _SOCKET_TYPE_H
#define _SOCKET_TYPE_H

#ifdef _WIN32
#include <winsock2.h>
#define ERRNO		(WSAGetLastError())
#define NEEDBLOCK	WSAEWOULDBLOCK
typedef int socklen_t;
#else
#include <netinet/in.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <fcntl.h>
#include <errno.h>
#ifndef INVALID_SOCKET
#define INVALID_SOCKET	(SOCKET)(~0)
#endif
#ifndef SOCKET_ERROR
#define SOCKET_ERROR	(-1)
#endif
#ifndef closesocket
#define closesocket(x)	::close(x)
#endif
typedef int SOCKET;
#define ERRNO (errno)
#define NEEDBLOCK	EAGAIN
#endif

#endif

你可能感兴趣的:((自用型)windows/linux网络编程通用跨平台头文件定义)