BvSocket.h
上传用户:onsales
上传日期:2010-01-31
资源大小:224k
文件大小:2k
源码类别:

网络编程

开发平台:

Visual C++

  1. // BvSocket.h: interface for the CBvSocket class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_BVSOCKET_H__7BD31721_08C8_11D4_8D3A_00002100A114__INCLUDED_)
  5. #define AFX_BVSOCKET_H__7BD31721_08C8_11D4_8D3A_00002100A114__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #include "winsock.h"
  10. const int WINSOCK_VERSION = 0x0101;  //Socket version over 1.1
  11. class CBvSocket  
  12. {
  13. public:
  14. CBvSocket();
  15. virtual ~CBvSocket();
  16. public:
  17. BOOL SetAddrIn(long ip,unsigned short port);
  18. int Connect(const char FAR* ip, unsigned short port);
  19. SOCKET Accept(SOCKADDR* addr, int* addrlen);
  20. int GetSocketOpt(int optname,char FAR* optval,int FAR*  optlen,int level);
  21. int SetSocketOpt(int optname,const char FAR * optval,int optlen,int level);
  22. int Connect();
  23. int Send(const char FAR * buf,int len,int flags);
  24. int Recieve(char FAR* buf,int len,int flags);
  25. BOOL Close();
  26. BOOL EndListen();
  27. BOOL Listen(int queue_size,HWND hWnd,unsigned int wMsg);
  28. BOOL Listen(int queue_size);
  29. BOOL Listen();
  30. BOOL AsyncSelect(HWND hWnd,unsigned int wMsg,long lEvent);
  31. BOOL Bind(const char FAR* ip,unsigned short port);
  32. BOOL Bind(unsigned short port);
  33. BOOL Bind();
  34. void SetAddrIn(unsigned short port);
  35. void SetAddrIn(const char FAR* ip,unsigned short port);
  36. BOOL Create(int af, int type,int protocol);
  37. BOOL Create();
  38. void ReportWinsockErr(LPSTR lpszErrorMsg);
  39. BOOL GetHostName(char FAR* name,int namelen);
  40. static BOOL Clean();
  41. static BOOL Init(WSADATA* wsaData);
  42. SOCKET m_hSocket;
  43. SOCKADDR_IN  m_addrSocket;
  44. SOCKET Socket(){return m_hSocket;}
  45. SOCKADDR_IN SockAddr(){return m_addrSocket;}
  46. SOCKADDR* GetSockAddr(){return (SOCKADDR*)&m_addrSocket;}
  47. const CBvSocket& operator=(const CBvSocket& s){return s;}
  48. CBvSocket(SOCKET s,SOCKADDR_IN addr){m_hSocket=s;m_addrSocket=addr;}
  49. };
  50. #endif // !defined(AFX_BVSOCKET_H__7BD31721_08C8_11D4_8D3A_00002100A114__INCLUDED_)