WSARecv

WSARecv

 

在重叠模型中,接收数据就要靠它了,它的参数也比recv要多,因为要用刀重叠结构嘛,它是这样定义的:

  int WSARecv(
  SOCKET s, // 当然是投递这个操作的套接字
  LPWSABUF lpBuffers, // 接收缓冲区,与Recv函数不同
  // 这里需要一个由WSABUF结构构成的数组
  DWORD dwBufferCount, // 数组中WSABUF结构的数量
  LPDWORD lpNumberOfBytesRecvd, // 如果接收操作立即完成,这里会返回函数调用所接收到的字节数
  LPDWORD lpFlags, // 说来话长了,我们这里设置为0 即可
  LPWSAOVERLAPPED lpOverlapped, // “绑定”的重叠结构
  LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine // 完成例程中将会用到的参数,我们这里设置为 NULL
  );
  返回值:
  WSA_IO_PENDING : 最常见的返回值,这是说明我们的WSARecv操作成功了,但是I/O操作还没有完成,所以我们就需要绑定一个事件来通知我们操作何时完成
本支持库在Win9x/ME/NT/2000/XP环境下实现了对WinSock2的函数拦截(包括如下函数:socket/closesocket/bind/listen/connect/accept/send/sendto/recv/recvfrom)。系统中任何程序使用WinSock2的函数都会被本支持库所拦截,并使用易语言事件触发的方式处理,您可以在被触发的事件中按照相应事件的规则自由的处理其他程序的WinSock调用。如果您对WinSock或Windows网络编程不是很了解,建议您在使用本支持库前阅读WinSock等其他相关文档或教程。注意:在使用本支持库前,您必须先正确安装网络服务提供者(ESPINN.dll(NN为当前版本))文件。网络服务提供者(ESPINN.dll(NN为当前版本))文件必须是随本支持库一起附带的网络服务提供者(ESPINN.dll(NN为当前版本)),否则安装将失败。当前本支持库对应的网络服务提供者版本是1.1。安装方法:使用"网络服务安装"中的"安装"命令(注意该命令的参数一定要填写正确)。卸载方法:首先您必须确定系统中和本支持库类似的拦截/过滤软件已正确卸载或没有卸载,否则请千万不要使用卸载方法!使用"网络服务安装"中的"卸载"命令,如果本方法没有执行成功,请千万不要删除已成功安装到系统路径下的网络服务提供者(ESPINN.dll(NN为当前版本))文件,原因请见下列警告。 [ 警告 ]如果网络服务提供者(ESPINN.dll(NN为当前版本))已经安装成功,并且"卸载"命令没有成功执行,(注意:只有"卸载"命令返回"真"才代表真正成功卸载了),或根本没有使用"卸载"命令,系统路径下的网络服务提供者(ESPINN.dll(NN为当前版本))文件不可以改名、删除或移动路径,否则很有可能导致整个系统的WinSock瘫痪。如果上述情况真的发生了也不要紧,您可以将随本支持库附带的网络服务提供者(ESPINN.dll(NN为当前版本))文件再次复制到系统路径中(推荐使用此方法,因为后面的方法在某些特定情况下可能不保险),或者直接执行"卸载"命令,并确定该命令是执行成功了。 操作系统支持: Windows
易语言中的wsarecv是一个网络编程函数,用于从指定的套接字接收数据。下面是对wsarecv的详细解释: wsarecv函数的语法: wsarecv(nsocket, lpbuf, dwbufsize, lpnum, lpflags, lpoverlapped, lpcallback) 参数说明: - nsocket:指定的套接字句柄。 - lpbuf:指向一个缓冲区,用于接收数据。 - dwbufsize:缓冲区的大小。 - lpnum:指向一个变量,返回实际接收到的字节数。 - lpflags:指向一个变量,指定接收操作的附加标志。 - lpoverlapped:指向一个OVERLAPPED结构的指针,用于指定异步操作。 - lpcallback:指向一个回调函数,用于处理异步操作的完成。 wsarecv函数的功能: wsarecv函数使用指定的套接字接收数据,并将接收的数据存储到指定的缓冲区中。通过该函数,程序可以从网络中接收数据,实现网络通信功能。 wsarecv函数的返回值: - 若函数调用成功,则返回0,表示接收数据成功。 - 若函数调用失败,则返回一个错误代码,表示接收数据失败。 注意事项: - 调用wsarecv函数前,需要先创建套接字、连接服务器,并进行相应的配置。 - wsarecv函数属于同步函数,即在接收数据完成之前,会一直等待数据的到达。如果需要实现异步操作,应使用指定的OVERLAPPED结构和回调函数。 总结: wsarecv是易语言中用于接收数据的网络编程函数。通过调用该函数,程序可以从指定的套接字接收数据,并将接收到的数据存储到指定的缓冲区中。此函数在网络通信中起到了重要的作用,使程序能够实现网络数据的接收功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值