类头如下:
class CNet
{
public:
static BOOL Close(SOCKET &socket);
static BOOL Close(TSOCKET &ts);
static int Receive(TSOCKET &socket , LPVOID lpData, DWORD dwSize , DWORD dwTimeout = INFINITE);
static int Send(TSOCKET &socket, LPVOID lpData, DWORD dwSize, DWORD dwTimeOut = INFINITE);
static BOOL StartUp();
static bool StartListen(TSOCKET &ts , short sListenPort);
CNet();
virtual ~CNet();
static int Connect(TSOCKET &ts , LPSTR lpServerAddr, short sPort);
static int Connect(TSOCKET &ts , LPSTR lpServerAddr, short sPort , STRUCT_PROXY &ProxyInfo);
static BOOL SetSocketOpt(SOCKET &s , int iBuffSize = BUFFERSIZE); static int SendEx(SOCKET &socket, WSABUF **buf, DWORD dwBufCount, DWORD dwTimeOut);
static int ReceiveEx(SOCKET &socket , WSABUF **buf, DWORD dwBufCount , DWORD dwTimeout);
};
代码下载地址:http://mybios.w145.west263.cn/temp/CNetTest.rar
如代码有错误请专家们指正!!
class CNet
{
public:
static BOOL Close(SOCKET &socket);
static BOOL Close(TSOCKET &ts);
static int Receive(TSOCKET &socket , LPVOID lpData, DWORD dwSize , DWORD dwTimeout = INFINITE);
static int Send(TSOCKET &socket, LPVOID lpData, DWORD dwSize, DWORD dwTimeOut = INFINITE);
static BOOL StartUp();
static bool StartListen(TSOCKET &ts , short sListenPort);
CNet();
virtual ~CNet();
static int Connect(TSOCKET &ts , LPSTR lpServerAddr, short sPort);
static int Connect(TSOCKET &ts , LPSTR lpServerAddr, short sPort , STRUCT_PROXY &ProxyInfo);
static BOOL SetSocketOpt(SOCKET &s , int iBuffSize = BUFFERSIZE); static int SendEx(SOCKET &socket, WSABUF **buf, DWORD dwBufCount, DWORD dwTimeOut);
static int ReceiveEx(SOCKET &socket , WSABUF **buf, DWORD dwBufCount , DWORD dwTimeout);
};
代码下载地址:http://mybios.w145.west263.cn/temp/CNetTest.rar
如代码有错误请专家们指正!!
解决方案 »
- 关于利用生产者消费者来解决多线程通信的问题
- MFC是不是真的要被淘汰了,那接替他的技术是什么呢?
- 有没有一个函数,用语判断std::string 类型的变量中是否所有字符否为 0~9之间的字符.
- VC++如何获取操作系统类型及显卡信息?小弟找了一下午了,还没解决
- WebBrowser控件在编辑状态和DHtmlEdit控件了的区别是什么?
- VC中使用OPENGL绘图的光照问题~
- 输出浮点数问题
- 如果知道一个控件的对话框句柄是编辑框控件类型?
- 急,在线求解?
- VC作SDK程序时如何调用ActiveX控件?
- 求救:请问如果重画CScrollBar?
- 大家好,现在有一个问题想请教大家,是关于在应用程序类总获得主框架窗口指针的,详情入内,谢谢各位
这里的函数名和他的作用是一致的吗?
本来这些函数都可以用作全局函数的,但是我把它写到一个类中,集中管理。而且可以继承。
这个类没有成员变量,所以没有搞成员函数,所以全部都变成静态的了。
to xzqchat:
退出时候有个标记没有初始化。。所以会死循环,稍微改一下就OK。这个跟核心类CNet没点关系。只是例子程序里的退出时候那个线程处理不太好。
没有用名字空间来管理哦。。那每次都要导入名字空间了?你的意思是不是说用名字空间的全局函数??
谢谢咯。。我的确想写一个真正面向对象的类。。以后会扩充此类的。。这个类是我在做一个文件动态访问的程序的时候临时做的。所以写得比较粗糙。。还望指点!
相对来说这个类的效率要比CSocket和CAnsycSocket的要高得多。测试一下就知道