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

📄 ts.h

📁 vc++游戏编程导学源码。漂亮的界面
💻 H
字号:
#ifndef __CSOCKET_H
#define __CSOCKET_H

//extern "C" AFX_EXT_API void WINAPI InitCTCPSocket(void);
#define ESTSOCKET    0X2022

//  connect flags for connection methed
#define BLOCKING_NOTIFY      0X0001
#define THREAD_NOTIFY        0X0010
#define WSA_NOTIFY           0X0100

#define LISTEN_SIDE   0X1000
#define CONNECT_SIDE  0X0000

// define message for WSA
#define ID_THREADACCEPT    WM_USER + 0X0F00	 //  when ThreadListen
#define WSA_ACCEPT         ID_THREADACCEPT
#define WSA_READ           WM_USER + 0X0F01

class AFX_EXT_CLASS CTCPSocket
{
public:
   CTCPSocket(void);
   ~CTCPSocket(void);
   
   void InitData(HWND hWndOwner,WORD wPort,
                     BOOL fListen,WORD wFlag,
                          BYTE bMax=5,UINT uAccept=WSA_ACCEPT);
   BOOL Establish(LPCSTR lpszOtherHost=NULL);
   BOOL WSAAccept(void);
   BOOL ThreadAccept(void){m_hListenThread=NULL;return TRUE;};
   BOOL Established(HWND hWndOwner,UINT uRead=WSA_READ);
   void CancelListen(void);   // when WSA or Thread
   void Close(void);
   void CloseListenSocket(void);
   
   BOOL IsListenSide(void)
      {return m_wFlag&LISTEN_SIDE;};
   SOCKET GetCommSocket(void)
      {return (IsListenSide())?m_sockUse[1]:m_sockUse[0];};
   int Read(LPSTR pRead,DWORD dwRead);
   int Write(LPCSTR pWrite,DWORD dwWrite);

protected:
   BOOL ListenSide(void);
   BOOL ConnectSide(LPCSTR lpszServer);
   BOOL WSAListen(void);
   BOOL BSDListen(void);
   BOOL ThreadListen(void);
protected:
   HWND m_hWnd;
   HANDLE m_hListenThread;
   SOCKET m_sockUse[2];
   WORD m_wPort;
   WORD m_wFlag;
   BYTE m_bMaxListen;
   UINT m_uAccept;
   UINT m_uRead;
};

BOOL EstComm(CTCPSocket* ptsEst,
			 SOCKET sockEst=ESTSOCKET,
			 CWnd* pP=NULL,
			 LPCSTR lpszOtherName=NULL,
			 BOOL fListen=FALSE);

#endif

⌨️ 快捷键说明

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