- 3
- 0
- 约8.28万字
- 约 56页
- 2016-04-23 发布于江苏
- 举报
局域网语音通信系统论文.doc
局域网的语音通信系统论文
??????
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 = NULL );用
您可能关注的文档
- 培训评估和迁移.ppt
- 基层共青团建设和青年工作调研信息反馈.doc
- 基层央行金融管理资源整合和机制重构 滕州案例.doc
- 基础工业工程和现代工业工程区别.ppt
- 墨家社会政治思想现代意义.doc
- 复习题(选择).doc
- 外包运行绩效和成本效益的分析.ppt
- 多工位级进模设.ppt
- 多远文化音乐考查提纲.doc
- 大学生 职业发展和训练.ppt
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
原创力文档

文档评论(0)