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

📄 tcpsocket.h

📁 vc源代码
💻 H
字号:
 /*****************************************************************************
	Copyright (c) 2006 hangzhou yuntian, Inc.  All rights reserved.

	Filename: 	TcpSocket.h

	Function:   异步Socket类CTcpAsyncSocket:封装了各类最基本的异步通讯相关的方法

	Author:	    lzq,lvzhuqiang@trasin.net
	
	Date:		2007-06-06
*******************************************************************************/

#ifndef _TCPSOCKET_H
#define _TCPSOCKET_H

#include <afxsock.h>
//#define MULT_THREAD 1
#ifdef MULT_THREAD
#include <Afxmt.h>
#endif

class CTcpAsyncSocket  
{
public:
#ifdef MULT_THREAD
	CCriticalSection m_objLock;
#endif
	
	//unsigned short sa_family;
	BOOL     m_blCanQuit;
	SOCKET	 m_hSocket;
//	SOCKADDR_IPX m_sockAddr;
	CString  m_strClientIp;
	UINT     m_iClientPort;
	
public:
	CTcpAsyncSocket();
	virtual ~CTcpAsyncSocket();
	void	Close();
	BOOL	Bind(UINT nSocketPort, LPCTSTR lpszSocketAddress);
	BOOL	Create(UINT nSocketPort = 0, int nType=SOCK_STREAM,int nIPPROTO=IPPROTO_UDP,const char* szIPAddress=NULL);
	int		Receive(void* lpBuf, int nBufLen, int nFlags = 0);
	int		ReceiveFrom(void* lpBuf, int nBufLen, CString& rSocketAddress, UINT& rSocketPort, int nFlags =0);
	int		ReceiveFrom(void* lpBuf, int nBufLen, CString& rSocketAddress, UINT& rSocketPort, int nFlags ,int nTimeOut);
	int		Send(const void* lpBuf, int nBufLen, int nFlags = 0);
	int		SendTo( const void* lpBuf, int nBufLen, UINT nHostPort, LPCTSTR lpszHostAddress = NULL, int nFlags = 0 );
	BOOL	Connect(LPCTSTR lpszHostAddress, UINT nHostPort);
	BOOL	IOCtl(long lCommand, DWORD* lpArgument);
	BOOL	SetNonBlockingMode(BOOL flag);
	BOOL	Listen(int nConnectionBacklog=5);
	BOOL	Accept(CTcpAsyncSocket& rConnectedSocket,
	SOCKADDR_IN* lpSockAddr = NULL, int* lpSockAddrLen = NULL);
	BOOL    Accept(CTcpAsyncSocket& rConnectedSocket,CString &strHostIp,UINT &iHostPort);

};

#endif // !defined(AFX_TCPSOCKET_H__B06292E1_54AA_11D3_A1BD_0000E83E4191__INCLUDED_)

⌨️ 快捷键说明

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