- 11
- 0
- 约8.3万字
- 约 55页
- 2017-02-23 发布于四川
- 举报
局域网的语音通信系统论文
局域网的语音通信系统论文
??????
1.6万字+论文+开题报告+英文翻译+文献综述?winsock编程原理在WINDOWS95/98,WINDOWSNT进行WINSOCK开发使用的编程语言有很多,VC++,JAVA,DELPHI,VB等。其中VC时使用最普遍,和WINSOCK结合最紧密的。并且VC++对原来的WindowsSockets库函数进行了一系列封装,继而产生了CAsynSocket、CSocket、CSocketFile等类,它们封装着有关Socket的各种功能,是编程变得更加简单。但如果你是一个WINSOCK编程的初学者,那么建议你在一开始还是学习WINSOCK最基本的API函数进行编程,这样可以大大加深对WINSOCK的了解,对将来很有好处。
在VC中进行WINSOCK的API编程开发,需要使用到下面三个文件:
1)WINSOCK.H: 这是WINSOCK API的头文件;2) WSOCK32.LIB: WINSOCK API连接库文件。在使用中,一点要把它作为项目的非缺省的连接库包含到项目文件中去;3)WINSOCK.DLL: WINSOCK的动态连接库,位于WINDOWS的安装目录下。
一般在使用中,面向连接协议的SOCKET编程模型应用最为广泛,因为面向连接协议提供了一系列的数据纠错功能,可以保证在网络上传输的数据及时、无误地到达对方。 总的来说,使用SOCKET接口(面向连接或无连接)进行网络通信时,必须按下面简单的四步进行处理:程序必须建立一个SOCKET;程序必须按要求配置此SOCKET。也就是说,程序要么将此SOCKET连接到远方的主机上,要么给此SOCKET指定一个本地协议端口;程序必须按要求通过此SOCKET发送和接收数据;程序必须关闭此SOCKET。
在MFC中MS为套接口提供了相应的类CAsyncSocket和CSocket,CAsyncSocket提供基于异步通信的套接口封装功能,CSocket则是由CAsyncSocket派生,提供更加高层次的功能,例如可以将套接口上发送和接收的数据和一个文件对象(CSocketFile)关联起来,通过读写文件来达到发送和接收数据的目的,此外CSocket提供的通信为同步通信,数据未接收到或是未发送完之前调用不会返回。此外通过MFC类开发者可以不考虑网络字节顺序和忽略掉更多的通信细节。
创建CAsyncSocket对象,可以调用下列函数:A)BOOL CAsyncSocket::Create( UINT nSocketPort = 0, int nSocketType = SOCK_STREAM, long lEvent = FD_READ FD_WRITE FD_OOB FD_ACCEPT FD_CONNECT FD_CLOSE, LPCTSTR lpszSocketAddress = NULL )通过指明lEvent所包含的标记来确定需要异步处理的事件,对于指明的相关事件的相关函数调用都不需要等待完成后才返回,函数会马上返回然后在完成任务后发送事件通知,并利用重载以下成员函数来处理各种网络事件:
标记?事件?需要重载的函数?FD_READ?有数据到达时发生?void OnReceive( int nErrorCode );?FD_WRITE?有数据发送时产生?void OnSend( int nErrorCode );?FD_OOB?收到外带数据时发生?void OnOutOfBandData( int nErrorCode );?FD_ACCEPT?作为服务端等待连接成功时发生?void OnAccept( int nErrorCode );?FD_CONNECT?作为客户端连接成功时发生?void OnConnect( int nErrorCode );?FD_CLOSE?套接口关闭时发生?void OnClose( int nErrorCode );?
我们看到重载的函数中都有一个参数nErrorCode,为零则表示正常完成,非零则表示错误。通过int CAsyncSocket::GetLastError()可以得到错误值。
下面我们看看套接口类所提供的一些功能,通过这些功能我们可以方便的建立网络连接和发送数据。
BOOL CAsyncSocket::Create( UINT nSocketPort = 0, int nSocketType = SOCK_STREAM, long lEvent = FD_READ FD_WRITE FD_OOB FD_ACCEPT FD_CONNECT FD_CLOSE, LPCTSTR lpszSocketAddress = N
您可能关注的文档
- 清华大学特色党支部活动.doc
- 清华大学研修班学习心得.doc
- 小米手机变身无线摄像头.doc
- 清华实战型房地产班简章.doc
- 清华山维测图软件应用技术.doc
- 清华小学给学生阅读的书单.doc
- 清华大学财务管理实战班新简章.doc
- 清华少儿科学素养培训项目.doc
- 清华法学辅导机构情况概述.docx
- 清华附小一至六年级阅读书单.doc
- 统编版2025年春季新版七年级下册历史 第21课 明清时期的科技与文化 教案.docx
- 雅安雨城法院书记员招聘考试真题库2025.docx
- 2026届安徽合肥市高考一模高考语文试卷试题(含答案详解).pdf
- 【专题研究】国内外城市更新研究的最新进展.pdf
- 【专题研究】老旧城区改造居民满意度影响因素研究——以遂宁市老旧城区改造为例.pdf
- 【专题研究】关于旧城空间改造理论与创意设计案例的几点思考.pdf
- 西藏拉萨市高三下学期期末物理备考重点详解.docx
- 泾县法院书记员招聘笔试真题2025.pdf
- 2026年春【苏教版】-六年级数学下册-面积的变化.pptx
- 2026年春【苏教版】-六年级数学下册-7.pptx
最近下载
- 《全球粮食安全挑战》课件.ppt VIP
- 医院感染管理办法课件PPT.pptx VIP
- 新公共法语中级教程(吴贤良)习题答案及参考译文.pdf
- 人工智能在司法领域的应用路径与前景分析.docx VIP
- 江西电力职业技术学院单招职业倾向性考试题库及答案详解(真题汇编).docx VIP
- 消化不良ppt课件.pptx VIP
- 2025年广东省外语艺术职业学院单招笔试英语试题库含答案解析.docx VIP
- 2026年忻州职业技术学院单招职业适应性测试题库附答案解析.docx VIP
- 控制计划CP中英文完整范本.xls VIP
- 江西电力职业技术学院单招职业适应性考试题库及答案详解(历年真题).docx VIP
原创力文档

文档评论(0)