blocksock.h
来自「MPEG4网络视频服务器客户端图象监控软件」· C头文件 代码 · 共 70 行
H
70 行
/********************************************************************
created: 2002/07/28
created: 28:7:2002 22:57
filename: E:\WORK\0730\DvsServer\BlockSock.h
file path: E:\WORK\0730\DvsServer
file base: BlockSock
file ext: h
author: Sun_J
purpose: blocking socket
*********************************************************************/
#if !defined(AFX_MSGSOCK_H__DEE8208E_81D6_436F_9FFF_905CBC24D531__INCLUDED_)
#define AFX_MSGSOCK_H__DEE8208E_81D6_436F_9FFF_905CBC24D531__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define TCP_CONNECT_ERROR 0x10000001
#define TCP_CREATE_ERROR 0x10000002
#define TCP_LISTEN_ERROR 0x10000003
#define TCP_SEND_TIMEOUT 0x10000004
#define TCP_RECV_TIMEOUT 0x10000005
#define TCP_SEND_ERROR 0x10000006
#define TCP_RECV_ERROR 0x10000007
#include <winsock2.h>
#pragma comment(lib, "Ws2_32.lib")
class CBlockSocket
{
public:
SOCKET m_hSocket;
DWORD m_dwError;
public:
CBlockSocket();
~CBlockSocket();
public:
static BOOL InitSocket();
BOOL Create( UINT nSocketPort = 0,
BOOL bBound = 1,
LPCTSTR lpAddress = NULL,
int nSocketType = SOCK_STREAM);
BOOL Listen();
BOOL Accept( CBlockSocket& rcSocket,
SOCKADDR* lpSockAddr = NULL,
int* lpSockAddLen = NULL);
BOOL Connect(LPCTSTR lpszHost, UINT uiHostPort);
BOOL SendProc(const void* lpBuf, int nBufLen, int nFlags = 0);
BOOL RecvProc(const void* lpBuf, int nBufLen, int nFlags = 0);
VOID Close();
VOID SetTimeOut(int s = 10, int ms = 0);
//2001 12 6
BOOL IsValid();
BOOL GetPeerName(CString& rName, UINT& nPort);
private:
BOOL Socket(int nSocketType, int nProtocolType = 0, int nAddressFormat = PF_INET);
BOOL Bind(UINT uiSocketPort, LPCTSTR lpszSocketAddress = NULL);
BOOL GetPeerName(SOCKADDR* lpSockAddr, int* lpSockAddrLen);
PTIMEVAL tv;
};
#endif // !defined(AFX_MSGSOCK_H__DEE8208E_81D6_436F_9FFF_905CBC24D531__INCLUDED_)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?