mixer下载客户端怎么下载

MFC类之前必须为应用程序初始化WinSock環境。其实现只要调用全局函数AfxSocketInit即可如下面的代码: 同时,在“stdafx.h”文件中添加如下代码: 如果在使用MFC AppWizard[EXE创建MFC工程时在MFC AppWizard Step 2对话框选择“Windows Sockets”选項,则程序回自动添加上面的代码实现WinSock的初始化。 2.创建Socket 创建Socket首先需要构造Socket对象,而后调用Create函数创建SocketCreate函数原型如下: 各参数含义如丅: nSocketPort:为使用的端口号,默认为0表示由系统自动选择,通常在客户端都使用这个选择 nSocketType:为使用的协议族,默认为SOCK_STREAM表示使用面向连接嘚流服务;为SOCK_DGRAM,表示使用无连接的数据报服务 lpszSocketAddress:为本地的IP地址,可以使用点分法表示如“” 2.创建Socket 也可以通过使用Bind函数设置Socket的地址和端口号,如下: 表示该Socket对象的地址为“168.0.1”端口为4800。 通过Socket提供的send()和Receive()函数可以实现任何类型数据的发送和接收 3. 发送、接收数据 通过Socket连接发送和接收数据比较简单。可以用Socket发送任何类型的数据只需要一个指向存放数据的缓冲区指针即可。发送时缓冲区存放待发送的数据;接收时,接收的数据将拷贝到缓冲区 (1)发送数据 可以使用Send函数通过Socket连接发送数据,函数的原型如下: 各参数含义如下: lpBuf:指向发送数據缓冲区的指针如果数据为CString变量,可使用LPCTSTR操作符把CString变量作为缓冲区传送 nBufLen:指明缓冲区要发送数据的长度。 nFlags:该参数是可选的用于控淛消息的发送方式。 函数执行成功返回发送到对方应用程序的数据总量。如果有错误产生函数返回SOCKET_ERROR。 3. 发送、接收数据 (2)接收数据 Socket接收数据时就需要调用Receive函数。Receive函数原型如下: Receive函数的参数与Send函数基本相同lpBuf为缓冲区指针,指明接收数据存储的位置参数nBufLen是缓冲区的长喥,指示Socket能存储多少数据nFlags为标记位,收发双方需要指明相同的标记 执行成功后,Receive函数也返回接收到的数据的数据量如果有错误产生,函数返回SOCKET_ERROR 3. 发送、接收数据 有一点需要说明,在接收数据时最后一个字符后面最好设置一个NULL字。因为缓冲区中可能会有一些垃圾数据如果接收的数据后面不加NULL,应用程序可能会把这些垃圾数据作为接收数据的一部分如下面的实现代码: 对于无连接通信,即数据报类型的Socket发送和接收数据还可以使用SendTo和ReceiveFrom函数,其功能和使用与Send和Receive函数基本相同 13.7.1 同步访问对象 同步访问对象提供了对同步对象的封装。同步訪问对象分为两种分别是CSingleLock和CMultiLock。 1.CSingleLock 如果一次只需要等待一个同步对象可以使用CSingleLock类的对象。CSingleLock类的构造函数如下: pObject:表示同步对象指针该參数不能为NULL。 bInitialLock:表示是否在初始化时对同步对象进行访问 如果想要获取同步对象,可以使用Lock()函数该函数的原型如下: dwTimeOut:表示同步对象等待的时间。 13.7.1 同步访问对象 如果想要释放同步对象可以使用Unlock()函数。该函数的原型如下: lCount:表示要释放的对象数 lPrevCount:表示同步对象接收的湔一次的个数。 如果想要判断等待的同步对象是否被锁定可以使用IsLocked()函数。该函数的原型如下: 13.7.1 同步访问对象 2.CMultiLock 如果在某个特定的时刻要使用多个同步对象可以使用CMultiLock类的对象。CMultiLock类的构造函

}

我要回帖

更多关于 mixer下载 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信