📄 socket.h
字号:
// Socket.h: interface for the CSocketBase class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_SOCKET_H__E292D93F_5969_4CFC_AA0B_3EF5D4375B49__INCLUDED_)
#define AFX_SOCKET_H__E292D93F_5969_4CFC_AA0B_3EF5D4375B49__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include <winsock2.h>
#include <windows.h>
#define socklen_t int
#define SELECT_READ 1
#define SELECT_WRITE 2
#define SELECT_EXCEPT 3
class CSocketBase
{
public:
CSocketBase::CSocketBase();
CSocketBase::~CSocketBase();
void Attach(SOCKET s, sockaddr_in* sAddr);
SOCKET GetSocket(){return m_hSocket;}
bool Connected(){return m_bConnected;}//m_hSocket!=INVALID_SOCKET; }
void GraceShutDown(bool bSender);
bool ShutDown(int how);
SOCKET Create(int iType=SOCK_STREAM);
bool Close(void);
bool Connect(const char* szRemote, unsigned int uiPort);
bool Select(int iHow, int iWaitTime);
int Send(const char* szData, int iLen);
int Receive(char* szData, int iLen);
int SendTo(const char* szData, int iLen, const SOCKADDR* pTo, int iToLen);
int ReceiveFrom(char* szData, int iLen, SOCKADDR* pFrom, socklen_t* piFromLen);
bool SetSockOpt(int level, int optname, void *optval, int optlen);
static void SendUDP(const char* szMsg, int length, const char* szIP, unsigned int uiPort);
char* GetRemoteIP(char* szIP);
static char* GetLocalIP(char* szIP);
protected:
struct sockaddr_in m_sockaddr;
struct sockaddr_in m_rsockaddr;
SOCKET m_hSocket;
bool m_bConnected;
int m_iType;
short m_iTalkFlag;
};
#endif // !defined(AFX_SOCKET_H__E292D93F_5969_4CFC_AA0B_3EF5D4375B49__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -