<b>用Winsock实现语音全双工通信</b>[VC/C++编程]
本文“<b>用Winsock实现语音全双工通信</b>[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
1、引言
Windows 95作为微机的操作系统,已经完好融入了网络与通信功效,不但可以成立纯Windows 95环境下的“对等网络”,并且支持多种协议,如TCP/IP、IPX/SPX、NETBUI等.在TCP/IP协议组中,TPC是一种面向衔接的协义,为用户供应坚固的、全双工的字节俭服务,具有确认、流掌握、多路复用和同步等功效,适于数据传输.UDP协议则是无衔接的,每个分组都携带完好的目的地址,各分组在系统中独立传送.它不能保证分组的先后次序,不举行分组出错的恢复与重传,因此不保证传输的坚固性,但是,它供应高传输效率的数据报服务,适于及时的语音、图象传输、广播消息等网络传输.
Winsock接口为进程间通信供应了一种新的手段,它不但能用于同一机械中的进程之间通信,并且支持网络通信功效.随着Windows 95的推出.Winsock已经被正式集成到了Windows系统中,同时包含了16位和32位的编程接口.而Winsock的开辟工具也可以在Borland C++4.0、Visual C++2.0这些C编译器中找到,主要由一个名为winsock.h的头文件和动态衔接库winsock.dll或wsodk32.dll构成,这两种动态衔接库辨别用于Win16和Win32的利用程序.
本文针对话音的全双工传输要求,采取UDP协议实现了及时网络通信.利用VisualC++2.0编译环境,其动态衔接库名为wsock32.dll.
2、主要函数的利用要点
通过成立双套接字,可以很便利地实现全双工网络通信.
1.套接字成立函数:
SOCKET socket(int family,int type,int protocol)
关于UDP协议,写为:
SOCKRET s;
s=socket(AF_INET,SOCK_DGRAM,0);
或s=socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP)
为了成立两个套接字,必须实现地址的反复绑定,即,当一个套接字已经绑定到某本地地址后,为了让另一个套接字反复利用该地址,必须为调用bind()函数绑定第二个套接字之前,通过函数setsockopt()为该套接字设置SO_REUSEADDR套接字选项.通过函数getsockopt()可得到套接字选项设置状况.需求注意的是,两个套接字所对应的端口号不能相同.
此外,还触及到套接字缓冲区的设置问题,按规定,每个区的设置范围是:不小于512个字节,大大于8k字节,按照需求,文中选用了4k字节.
以上是“<b>用Winsock实现语音全双工通信</b>[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |