摘要: 关注C++/Java/C#技术, 致力于安防监控/移动应用/WEB方面开发http://www.cnblogs.com/peterzb/category/55905.html(张辰)socket 即时通信,数据库,c#,javahttp://www.cnblogs.com/zc22/archive/2010/06/27/1766007.html阿良.net ADO.net , VisualStudio ,WinForm,算法,Ajax,数据库,多线程,设计模式等http://www.chenjiliang.com/Article/Default.aspx?TypeID=73网名:webabcd 阅读全文
posted @ 2011-06-28 13:57 董雨 阅读(179) 评论(0) 推荐(0) 编辑
摘要: http://dotcpp.iteye.com/blog/599268本文在别人的文章基础上(http://foxhack.blog.51cto.com/96963/25908),自己稍加改动,希望对初学者有所帮助。老陈有一个在外地工作的女儿,不能经常回来,老陈和她通过信件联系。他们的信会被邮递员投递到他们的信箱里。这和Socket模型非常类似。下面我就以老陈接收信件为例讲解Socket I/O模型~~~一:select模型老陈非常想看到女儿的信。以至于他每隔10分钟就下楼检查信箱,看是否有女儿的信~~~~~在这种情况下,"下楼检查信箱"然后回到楼上耽误了老陈太多的时间,以 阅读全文
posted @ 2011-06-28 12:52 董雨 阅读(222) 评论(0) 推荐(0) 编辑
摘要: http://tangfeng.iteye.com/blog/518148“完成端口”模型是迄今为止最为复杂的一种I/O模型。然而,假若一个应用程序同时需要管理为数众多的套接字,那么采用这种模型,往往可以达到最佳的系统性能!但不幸的是,该模型只适用于Windows NT和Windows 2000操作系统。因其设计的复杂性,只有在你的应用程序需要同时管理数百乃至上千个套接字的时候,而且希望随着系统内安装的CPU数量的增多,应用程序的性能也可以线性提升,才应考虑采用“完成端口”模型。要记住的一个基本准则是,假如要为Windows NT或Windows 2000开发高性能的服务器应用,同时希望为大量 阅读全文
posted @ 2011-06-28 10:36 董雨 阅读(196) 评论(0) 推荐(0) 编辑
摘要: http://tangfeng.iteye.com/blog/795497Socket中可以使用select设置连接超时,需要先将socket设置为非锁定模式,这样,在connect时,才会立马跳过,同时,通常也会产生一个WSAEWOULDBLOCK错误,这个错误没关系。再执行select则是真正的超时。C++代码WSADATAwsd;SOCKETcClient;intret;structsockaddr_inserver;hostent*host=NULL;if(WSAStartup(MAKEWORD(2,0),&wsd)){return0;}cClient=socket(AF_IN 阅读全文
posted @ 2011-06-28 10:34 董雨 阅读(310) 评论(0) 推荐(0) 编辑
摘要: http://tangfeng.iteye.com/blog/513272sqlite3封装类sqlite3_wrapper.rar(195.4 KB)评论1 楼SpitFire2009-11-10引用ado.net风格的,这个比较推荐,封装得比较好http://int64.org/projects/sqlite-c-wrapperado风格的http://www.codeproject.com/KB/database/CppSQLite.aspx 阅读全文
posted @ 2011-06-28 10:33 董雨 阅读(222) 评论(0) 推荐(0) 编辑
摘要: http://tangfeng.iteye.com/blog/518134OVERLAPPED结构主要用于异步I/O操作,其数据结构定义如下:typedef struct _OVERLAPPED { DWORD Internal; // 系统保留,存放系统设置的状态 DWORD InternalHigh; // 系统保留,存放被传输数据的长度 DWORD Offset; // 指定文件的位置,文件位置是相对文件开始处的字节偏移量。 DWORD OffsetHigh; // 指定开始传送数据的字节偏移量的高位字 HANDLE hEvent; // 标识事件,数据传送完成时把它设为信号状态}OVE 阅读全文
posted @ 2011-06-28 10:31 董雨 阅读(292) 评论(0) 推荐(0) 编辑
摘要: http://tangfeng.iteye.com/blog/518135在windows平台构建网络应用,必须了解socket I/O模型。windows提供了选择(select)、异步选择(WSAAsyncSelect)、事件选择(WSAEventSelect)、重叠I /O(overlapped I/O)和完成端口(completion port)。一、客户端代码C++代码#include"stdafx.h"#include<WINSOCK2.H>#include<stdio.h>#pragmacomment(lib,"ws2_32. 阅读全文
posted @ 2011-06-28 10:30 董雨 阅读(184) 评论(0) 推荐(0) 编辑
摘要: http://tangfeng.iteye.com/blog/518141用异步选择模型,应用程序可在一个套接字上,接收以Windows消息为基础的网络事件通知。具体的做法是在建好一个套接字后,调用WSAAsyncSelect函数。服务器端代码:C++代码//writebylarry//2009-8-20//ThisisaserverusingWSAAsyncSelectmodel.#include"stdafx.h"#include<winsock.h>#include<tchar.h>#definePORT5150#defineMSGSIZE10 阅读全文
posted @ 2011-06-28 10:29 董雨 阅读(223) 评论(0) 推荐(0) 编辑
摘要: http://tangfeng.iteye.com/blog/518142WSAEventSelect和WSAAsyncSelect模型类似,它也允许应用程序在一个或多个套接字上,接收以事件为基础的网络事件通知。对于WSAAsyncSelect模型采用的网络事件来说,它们均可原封不动地移植到事件选择模型上。在用事件选择模型开发的应用程序中,也能接收和处理所有那些事件。该模型最主要的差别在于网络事件会投递至一个事件对象句柄,而非投递至一个窗口例程。服务器端代码:C++代码//writebylarry//2009-8-20//ThisisaserverusingWSAEventSelectmode 阅读全文
posted @ 2011-06-28 10:26 董雨 阅读(282) 评论(0) 推荐(0) 编辑
摘要: http://tangfeng.iteye.com/blog/518146Winsock2的发布使得Socket I/O有了和文件I/O统一的接口。我们可以通过使用Win32文件操纵函数ReadFile和WriteFile来进行Socket I/O。伴随而来的,用于普通文件I/O的重叠I/O模型和完成端口模型对Socket I/O也适用了。这些模型的优点是可以达到更佳的系统性能,但是实现较为复杂,里面涉及较多的C语言技巧。例如我们在完成端口模型中会经常用到所谓的“尾随数据”。一、用事件通知方式实现的重叠I/O 模型C++代码//writebylarry//2009-8-20//Thisisas 阅读全文
posted @ 2011-06-28 10:25 董雨 阅读(295) 评论(0) 推荐(0) 编辑