MFC的Csocket类
来源:互联网 发布:破解软件license验证 编辑:程序博客网 时间:2024/04/29 09:27
Windows环境下进行通讯程序设计的最基本方法是应用Windows Sockets实现进程间的通讯。
Csocket类和CsocketFile类可以与Carchive类一起合作来管理发送和接收的数据,这使管理数据收发更加便利。CSocket对象提供阻塞模式,这对于Carchive的同步操作是至关重要的。阻塞函数(如Receive()、Send()、ReceiveFrom()、SendTo() 和Accept())直到操作完成后才返回控制权,因此如果需要低层控制和高效率,就使用CasyncSock类;如果需要方便,则可使用Csocket类 。
CSocket类是由CAsyncSocket继承而来的,事实上,在MFC中CAsyncSocket 逐个封装了WinSock API,每个CAsyncSocket对象代表一个Windows Socket对象,使用CAsyncSocket 类要求程序员对网络编程较为熟悉。相比起来,CSocket类是CAsyncSocket的派生类, 继承了它封装的WinSock API。
一个socket可以处于"阻塞模式"或"非阻塞模式",当一个套接字处于阻塞模式(即同步操作)时,它的阻塞函数直到操作完成才会返回控制权,之所以称为阻塞是因为此套接字的阻塞函数在完成操作返回之前什么也不能做。如果一个socket处于非阻塞模式(即异步操作),则会被调用函数立即返回。在CAsyncSocket类中可以用GetLastError 成员函数查询最后的错误,如果错误是WSAEWOULDBLOCK则说明有阻塞,而CSocket绝不会返回WSAEWOULDBLOCK,因为它自己管理阻塞。但在CSocket类中,为了利用CArchive 处理通讯中的许多问题和简化编程,它的一些成员函数总是具有阻塞性质的,这是因为CArchive类需要同步的操作。
在Win32环境下,如果要使用具有阻塞性质的套接字,应该放在独立的工作线程中处理,利用多线程的方法使阻塞不至于干扰其他线程,也不会把CPU时间浪费在阻塞上。多线程的方法既可以使程序员享受CSocket带 来的简化编程的便利,也不会影响用户界面对用户的反应。
- MFC的Csocket类
- CSocket 类 not for MFC
- MFC CSocket类 通信原理
- 利用MFC的CSocket类实现网络通信(zz)
- 利用MFC的Csocket类实现网络通信
- [转]利用MFC的Csocket类实现网络通信
- 利用MFC的Csocket类实现网络通信
- 利用MFC的Csocket类实现网络通信1
- [转]利用MFC的Csocket类实现网络通信(图)
- 利用MFC的Csocket类实现网络通信
- 利用MFC的Csocket类实现网络通信
- 利用MFC的Csocket类实现网络通信
- 利用MFC的Csocket类实现网络通信
- 利用MFC的Csocket类实现网络通信
- 利用MFC的Csocket类实现网络通信
- 利用MFC的Csocket类实现网络通信
- 利用MFC的Csocket类实现网络通信
- 利用MFC的Csocket类实现网络通信
- 网络安全讲座之三:防火墙技术
- VS 2008 JavaScript Intellisense
- 关于PB学习的几条建议。
- 试验网站#1搜索引擎优化收录情况记录2007-6-25
- IP地址不可以重复吗?
- MFC的Csocket类
- PPCUtils.Meeting.Master.v1.0.Professional.Edition.All.PPC.Retail
- 微软正式推出.NET Framework 3.0 Redistributable Package
- 华为3com secpath100f DVPN配置
- 复习提纲
- 一般黑客入侵所需要的几个常用命令
- 编写易于理解代码的六种方式
- 咨询师,你是否廉颇老矣?
- 申请了几个 免费转向域名 roo.to