03 2012 档案

摘要:1. Windows平台提供了5种非阻塞Socket编程模型:Select模型(集合管理多个Socket,集合中有64个元素,可以管理1024个socket)WSAAsyncSelect模型(消息通知应用程序)WSAEventSelect模型(事件通知应用程序)每次只能等待64个事件重叠I/O模型(Overlapped I/O,事件通知和完成例程来通知应用程序)事件通知即通过事件来通知应用程序I/O操作已完成,完成例程则是预先定义的回调函数。完成端口模型(Completion Port)比较成熟,使用线程池来处理异步I/O请求2. ioctlsocketint PASCAL FAR ioctl 阅读全文
posted @ 2012-03-31 11:34 hanyuanbo 阅读(7512) 评论(0) 推荐(3)
摘要:主要是winSock的函数的使用,代码只是示例如何使用,没有什么很特别的地方。同步winSock编程比较简单,高级部分需要看异步socket编程。Tcp示例代码功能:服务器端启动并等待客户端信息,收到信息处理并显示,然后将信息回送给客户端,客户端再显示。TcpServerTcpServer 1 #include <winsock2.h> 2 #include <iostream> 3 #pragma comment(lib, "ws2_32.lib") 4 5 using namespace std; 6 7 #define BUFSIZE 64 8 阅读全文
posted @ 2012-03-31 10:30 hanyuanbo 阅读(704) 评论(0) 推荐(0)
摘要:CriticalSection(同一进程间的线程通信,速度快但是可能会产生死锁)CriticalSection 1 #include <windows.h> 2 #include <iostream> 3 4 using namespace std; 5 6 DWORD WINAPI Fun1Proc(LPVOID lpParameter); 7 DWORD WINAPI Fun2Proc(LPVOID lpParameter); 8 9 int tickets=10;10 CRITICAL_SECTION g_cs;11 12 void main()13 {14 co 阅读全文
posted @ 2012-03-30 15:17 hanyuanbo 阅读(880) 评论(0) 推荐(0)
摘要:以下是在vs2008上写的孙鑫老师第十五讲中的聊天室程序,里面花时间最多的是CString、string和char*之间的转换。 由于初学,目前的解决办法中将 字符集 进行了设置,不知道这样对程序的健壮性或者可移植性有没有影响,不管怎样,实现出来了。下面是设置字符集的截图。下面是ChatDlg.h 文件ChatDlg.h 1 // ChatDlg.h : 头文件 2 // 3 4 #pragma once 5 6 #define WM_RECVDATA WM_USER + 1 7 8 typedef struct 9 {10 SOCKET sock;11 HWND hwn... 阅读全文
posted @ 2012-03-28 11:34 hanyuanbo 阅读(1107) 评论(0) 推荐(0)