- 博客(9)
- 资源 (39)
- 收藏
- 关注
原创 socket通信之九:使用完成端口实现的一个聊天室
基本上windows平台下的几种IO模型都实现了一遍,还有两个没有实现,但是它们一个需要基于windows消息,一个和重叠IO中的事件通知模型比较类似,并且不能实现真正的异步,所以就不列出来了。这一篇介绍如何实现一个聊天室。前面介绍的几种模型中除了基本的socket模型和阻塞版本的模型之外都可以用来实现聊天室,因为这两个模型还不能实现支持多个客户端。对于其它的几个模型,我们需要做的只是
2015-09-04 23:08:02 4640 1
原创 socket通信之八:完成端口模型实现的客户/服务器模型
完成端口的详细说明可以参考下面这两篇文章,理论讲的很好。手把手教你玩转SOCKET模型:完成端口(Completion Port)详解 完成端口(I/O completion)原理 收藏但是本文的实现和它们还是有点区别。这里就只列出完成端口服务器端的基本流程了。首先,说说主线程:1.创建完成端口对象2.创建工作者线程(这里工作者线程的
2015-09-03 16:10:38 2356
原创 socket通信之七:Overlapped I/O 完成例程模型实现的客户/服务器模型
前一篇介绍了重叠IO的一种实现方式即基于事件通知的方式,这一篇介绍另外一种方式,即使用完成例程的方式实现重叠IO,首先声明这种方式比事件通知的方式简单多了。用完成例程来实现重叠I/O比用事件通知简单得多。在这个模型中,主线程只用不停的接受连接即可;辅助线程判断有没有新的客户端连接被建立,如果有,就为那个客户端套接字激活一个异步的WSARecv操作,然后调用SleepEx使线程处于一种可
2015-09-03 14:00:24 2212
原创 socket通信之六:Overlapped I/O 事件通知模型实现的客户/服务器模型
1.基于事件通知模型的Overlapped I/O(重叠IO模型)概括一点说,重叠模型是让应用程序使用重叠数据结构(WSAOVERLAPPED),一次投递一个或多个Winsock I/O请求。针对这些提交的请求,在它们完成之后,应用程序会收到通知,于是就可以通过自己另外的代码来处理这些数据了。 需要注意的是,有两个方法可以用来管理重叠IO请求的完成情况(就是说接到
2015-09-02 21:12:42 3279
原创 socket通信之五:select多路复用的客户/服务器模型
前面一篇介绍了服务器端使用多线程的方式来处理多个客户端的请求的,但是当客户端数量增多时线程数量会急剧增加,导致消耗大量的资源。于是就引出了服务器端的一种新的模型。1. 阻塞与非阻塞首先介绍几个基本的概念。阻塞方式( block ),顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,假如事件没有发生,进程或线程就被阻塞,函数不能立即
2015-09-02 14:52:47 5699 3
原创 socket通信之四:多线程版本的客户/服务器模型
上一篇中阻塞版本的客户/服务器模型实现了一个客户端能连续向服务器端发送数据,但是因为服务器端在循环体内会被阻塞,这样其它客户端再连接服务器端时服务器是无法处理的,这就导致了服务器只能处理一个客户端,其它客户端都会等待,直到当前处理的客户端退出,然后就会再有一个客户端和服务器端连接。这一篇文章介绍一种可以让多个客户端同时能和服务器端通信的方式,就是服务器端的多线程模型,服务器每次调用accept建立一个连接后,启动一个新的线程为这个连接服务,然后服务器继续执行,这样就不会陷入阻塞状态了。
2015-09-02 14:51:52 2681 2
原创 socke通信之三:阻塞版本的客户/服务器模型
上一篇中实现出来的客户端只能向服务器端发送一次数据,然后就断开了连接,那么如果需要向服务器端持续发送数据,那么应该怎么做? 一个很直观地想法就是修改客户端的第4步,即发送,接收数据那一步,在基本的客户/服务器模型中我们是直接发送一个字符串给服务器端,现在我们从控制台接收数据将接收到的数据发送给服务器端,然后从服务端端接收数据并打印输出。并持续从控制台读取数据。
2015-09-02 14:50:30 1095
原创 socket通信之二:实现一个基本的客户/服务器模型
前一篇介绍了TCP/IP协议族和socket的一些基本的知识,这篇文章介绍在windows下如何实现一个使用socket通信的客户和服务器模型。首先还是将基本的流程回顾一下,任何复杂的模型都是从这个基本的模型中衍生出来的,然后介绍一下在windows平台下相关的api。服务器端编程的步骤:加载套接字库,创建套接字(WSAStartup()/socket())
2015-09-02 14:48:06 4418 1
原创 socket通信之一:TCP/IP模型与socket
这段时间看了一些网络相关的东西,这里做一个总结吧。参考了很多文章的内容,因为我本身是对着书并且参考网络资源在学习的,在最后会一一列出文章的地址。这篇文章主要介绍TCP/IP的一些基本知识,后面几篇继续深入一点探究。本篇主要包括下面这些知识:TCP/IP是什么socket介绍socket通信流程socket中TCP三次握手建立连接socket中TCP的四次挥手释放连接
2015-09-02 14:44:28 8097
计算机图形学算法
2014-09-05
TestCameraEye.rar
2014-07-04
GenerateBMP.rar
2014-07-03
PixelColor.rar
2014-07-03
TestPng.rar
2014-07-03
TestCone.rar
2014-07-03
TestCamera
2014-07-03
MFCCompositeViewer.rar
2014-01-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人