tcpsocket.h

来自「SMAL是short message abstract library的缩写,是」· C头文件 代码 · 共 76 行

H
76
字号
/**
 *	tcpsocket.h
 *	
 *	Short Message Abstractive Library.(SMAL)
 *
 *	Copyright 2003-2006	北京风起水流软件工作室
 *	
 *	http://www.zealware.com
 *	
 *	princetoad@gmail.com
 *
 */

#ifndef _SMAL_SOCKET_H
#define _SMAL_SOCKET_H

#include <smal.h>

#include <winsock2.h>
#pragma comment(lib, "ws2_32.lib")
#pragma pack(1)

//##ModelId=46B5D43F0114
class TCPSocket  
{
public:
	//##ModelId=46B5D43F011F
	SOCKET m_hSocket;

	//##ModelId=46B5D43F0123
	char m_szClientAddr[MAX_PATH];

	//##ModelId=46B5D43F0124
	TCPSocket();

	//##ModelId=46B5D43F0125
	TCPSocket(SOCKET sock);

	//##ModelId=46B5D43F0129
	~TCPSocket();

	//##ModelId=46B5D43F012A
	int Cleanup();

	//##ModelId=46B5D43F012B
	int Create(int nType = SOCK_STREAM);

	//##ModelId=46B5D43F0132
	int Close();

	//##ModelId=46B5D43F0133
	int Bind(const unsigned short ushPort, const char* pchIP = NULL);

	//##ModelId=46B5D43F0136
	int Listen(int nMaxConn = SOMAXCONN);

	//##ModelId=46B5D43F013C
	int Connect(const char* pchIP, const unsigned short ushPort);

	//##ModelId=46B5D43F013F
	int Accept(TCPSocket* tsClient);

	//##ModelId=46B5D43F0141
	int Send(const char *pch, const int nSize, const int nSecs);

	//##ModelId=46B5D43F0148
	int Receive(char* pch, const int nSize, const int nSecs);

	//##ModelId=46B5D43F014C
	operator SOCKET() {
		return m_hSocket;
	}
};

#endif

⌨️ 快捷键说明

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