关于使用WSAAsyncSelect注册FD_READ后,不能一次完全recv()全部字节的问题

VC/MFC > 网络编程 [问题点数:100分,结帖人dos5gw]
等级
本版专家分:50
结帖率 93.33%
等级
本版专家分:165
等级
本版专家分:87735
勋章
Blank
微软MVP 2013年7月 荣获微软MVP称号
2012年7月 荣获微软MVP称号
2011年7月 荣获微软MVP称号
Blank
红花 2013年9月 VC/MFC大版内专家分月排行榜第一
2013年8月 VC/MFC大版内专家分月排行榜第一
Blank
黄花 2012年2月 VC/MFC大版内专家分月排行榜第二
2011年3月 VC/MFC大版内专家分月排行榜第二
2011年2月 VC/MFC大版内专家分月排行榜第二
Blank
蓝花 2014年8月 VC/MFC大版内专家分月排行榜第三
2014年7月 VC/MFC大版内专家分月排行榜第三
等级
本版专家分:0
等级
本版专家分:50
等级
本版专家分:2566
勋章
Blank
红花 2010年5月 C++ Builder大版内专家分月排行榜第一
2010年3月 C++ Builder大版内专家分月排行榜第一
2010年1月 C++ Builder大版内专家分月排行榜第一
Blank
黄花 2010年12月 C++ Builder大版内专家分月排行榜第二
2010年11月 C++ Builder大版内专家分月排行榜第二
2010年7月 C++ Builder大版内专家分月排行榜第二
2010年6月 C++ Builder大版内专家分月排行榜第二
2010年4月 C++ Builder大版内专家分月排行榜第二
Blank
蓝花 2011年4月 C++ Builder大版内专家分月排行榜第三
2010年8月 C++ Builder大版内专家分月排行榜第三
2010年2月 C++ Builder大版内专家分月排行榜第三
2009年12月 C++ Builder大版内专家分月排行榜第三
等级
本版专家分:50
等级
本版专家分:29135
勋章
Blank
黄花 2009年3月 C/C++大版内专家分月排行榜第二
等级
本版专家分:50
等级
本版专家分:2566
勋章
Blank
红花 2010年5月 C++ Builder大版内专家分月排行榜第一
2010年3月 C++ Builder大版内专家分月排行榜第一
2010年1月 C++ Builder大版内专家分月排行榜第一
Blank
黄花 2010年12月 C++ Builder大版内专家分月排行榜第二
2010年11月 C++ Builder大版内专家分月排行榜第二
2010年7月 C++ Builder大版内专家分月排行榜第二
2010年6月 C++ Builder大版内专家分月排行榜第二
2010年4月 C++ Builder大版内专家分月排行榜第二
Blank
蓝花 2011年4月 C++ Builder大版内专家分月排行榜第三
2010年8月 C++ Builder大版内专家分月排行榜第三
2010年2月 C++ Builder大版内专家分月排行榜第三
2009年12月 C++ Builder大版内专家分月排行榜第三
等级
本版专家分:2617
dos5gw

等级:

WSAAsyncSelect模型 实现socket客户端接收数据的例子

(1) h文件中声明网络事件响应函数afx_msg void OnNetEvent(WPARAM wParam, LPARAM lParam); (2)cpp文件中把NETWORK_EVENT事件映射到OnNetEvent()函数BEGIN_...END_MESSAGE_MAP() (3)OnNetEvent()函数体, 对FD_CONN

Windows socket 之WSAAsyncSelect模型

WSAAsyncSelect模型 WSAAsyncSelect模型是Windows socket的个异步IO模型。利用该模型可以接收以Windows消息为基础的网络事件。Windows sockets应用程序在创建套接字,调用WSAAsyncSelect函数注册感兴趣的网络...

详细解析WSAAsyncSelect模型

Windows sockets应用程序在创建套接字,调用WSAAsyncSelect函数注册感兴趣的网络事件,当该事件发生时Windows窗口收到消息,应用程序就可以对接收到的网络时间进行处理。WSAAsyncSelect是select模型的异步版本。...

socket实现大型文件传输

经过图书馆查阅还是找到了种解决办法,虽然做的太专业,但是思路比较精简、清晰,也希望给大家尤其是刚学习socket套接字的人一些启示。    对于套接字socket我其实也太懂,并且一般资料都可

网络编程(53)—— Windows下使用WSAAsyncSelect实现窗口处理socket消息

 上一文中我们介绍了使用WSAEventSelect实现异步通知IO的方法,本文我们主要讨论下使用WSAAsyncSelect处理socket的方法。本文的主要目标,是创建个带界面的回声服务端,接收并返回客户端传过来的字符串,并在界面...

异步 SOCKET 编程 - 发送和接收数据

我本想把发送和接收分开作为两部分,但是最后我决定只略微... 当有数据发送过来时, WinSock 会以 FD_READ 事件通知你, 对于每FD_READ 事件, 你需要像下面这样调用 recv() : int bytes_recv = recv(wParam, &data

Winsock学习笔记2:WSAAsyncSelect模型

共有五种类型的套接字I/O模型,可让Winsock应用程序对I/O进行管理,它们包括: select(选择)、WSAAsyncSelect(异步选择)、WSAEventSelect(事件选择)、overlapped(重叠)以及 completion port(完成端口)。...

Socket的阻塞/非阻塞

WinSock基本知识 这里打算系统地介绍socket或者WinSock的知识。首先介绍WinSock API函数,讲解阻塞/非阻塞的概念;然后介绍socket的使用。 WinSock API Socket接口是网络编程(通常是TCP/IP协议,也可以是其他协议...

C++ 高性能服务器网络框架设计细节

这篇文章我们将介绍服务器的开发,并从多个方面探究如何开发款高性能高并发的服务器程序。需要注意的是一般大型服务器,其复杂程度在于其业务,而不是在于其代码工程的基本框架。大型服务器一般有多个服务组成,...

【网络编程】之八、异步选择WSAAsyncSelect

大家用这个模型,可以让应用程序在个套接字上接收以windows消息为基础的网络事件通知。我们想要用这个操作,具体的做法就是我们建立个套接字,然后调用WSAAsyncSelect函数, 也就是说,这个模型的核心就是我们的...

c++ socket 异步编程

在网络通讯中,由于网络拥挤或一次发送的数据量过大等原因,经常会发生交换的数据在短时间内不能传送完,收发数据的函数因此不能返回,这种现象叫做阻塞。 Winsock对有可能阻塞的函数提供了两种处理方式:阻塞和非...

Winsocket入门教程三:以Windows消息机制驱动的客户端程序

使用Windows消息机制编写socket程序主要有一下的好处:是我们可以将大部分的recv操作以及close操作放到消息处理函数里面,以利于代码的维护;二是当有数据可读的时候,socket程序会接到相应的消息,我们可以在这...

WinSock网络编程实用宝典

、TCP/IP 体系结构与特点 1、TCP/IP体系结构 TCP/IP协议实际上就是在物理网上的组完整的网络协议。其中TCP是提供传输层服务,而IP则是提供网络层服务。TCP/IP包括以下协议:(结构如图1.1)(图1.1) IP: 网间...

WSAAsyncSelect模型

具体的做法是在建好个套接字,调用 WSAAsyncSelect函数。 异步通知,但提供异步数据传送。异步数据传送有“重叠及完成端口模型提供”。 要想使用WSAAsyncSelect模型,在应用程序中,首先必须用CreateWindow...

linux非阻塞式socket编程之select()用法

Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都太爱用Select写程序,他们只是习惯写诸如 connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程...

对pbsocket认识

global variablesWinSock wsevent:openws = create WinSock //提供常数和函数winsock_errorevent:closedestroy wssServer = create SocketStream //数据流传输模式:自动创建套接字 sServer.bind(ulAddr,iPort) ...

WSAAsyncSelect发送和接收数据

我本想把发送和接收分开作为两部分,但是最后我决定只略微解释一下 FD_READ ,留下更多的时间来说明更复杂的 FD_WRITE , FD_READ 事件非常... 当有数据发送过来时, WinSock 会以 FD_READ 事件通知你, 对于每FD_RE

WinSock网络编程实用宝典

、TCP/IP 体系结构与特点 1、TCP/IP体系结构 TCP/IP协议实际上就是在物理网上的组完整的网络协议。其中TCP是提供传输层服务,而IP则是提供网络层服务。TCP/IP包括以下协议:(结构如图1.1)(图1.1) IP: 网间...

Socket函数

| 18.3 | Windows套接字技术套接字(Socket)是网络通信的基本构件,最初是由加利福尼亚大学Berkeley学院为UNIX开发的网络通信编程接口,它只能运行在UNIX操作系统,支持DOS和Windows操作系统。随着Windows操作...

WinSock基本知识

这里打算系统地介绍socket或者WinSock的知识。首先介绍WinSock API函数,讲解阻塞/非阻塞的概念;然后介绍socket的使用。 WinSock API Socket接口是网络编程(通常是TCP/IP协议,也可以是其他协议)的...

Socket编程知识必学/SELECT 编程

connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。...

WINDOWS网络编程接口

SOCKETS规范及应用-WINDOWS网络编程接口 Windows Sockets 规范及应用 -Windows网络编程接口 ****************************************************************** 版权信息 本书作者保留所有版权。...

异步SOCKET编程-发送和接收数据[转] 异步SOCKET编程-发送和接收数据[转]

我本想把发送和接收分开作为两部分,但是最后我决定只略微... 当有数据发送过来时, WinSock 会以 FD_READ 事件通知你, 对于每FD_READ 事件, 你需要像下面这样调用 recv() :int bytes_recv = recv(wParam, &data,

Windows Socket编程简介

转载地址:http://hi.baidu.com/huangfei564/blog/item/c8fc9c8e62b323fc503d9202.html ...虽然你可以直接使用WinSock API来写网络应用程序,但是,要写出优秀的网络应用程序,还是必须对TCP/IP协议有一些了解的。1. T

Windows Socket五种I/O模型——代码全攻略

Windows操作系统提供了选择(Select)、异步选择(WSAAsyncSelect)、事件选择(WSAEventSelect)、重叠I/O(Overlapped I/O)和完成端口(Completion Port)共五种I/O模型。每种模型均适用于种特定的应用场景。...

socket阻塞与非阻塞,同步与异步

3. 为了保证用户进程不能直接操作内核(kernel),保证内核的安全,操心系统将虚拟空间划分为两部分:部分为内核空间,部分为用户空间   4. 针对linux操作系统而言,将最高的1G字节(从虚拟地

孙鑫MFC笔记之十四--多线程同步与异步套接字编程

n事件对象也属于内核对象,包含使用计数,个用于指明该事件是个自动重置的事件还是个人工重置的事件的布尔值,另个用于指明该事件处于已通知状态还是未通知状态的布尔值。 n有两种不同类型的事件对象。...

windows socket编程函数()

5.1 Windows Socket 1.1库函数参考本章以字母顺序列出了套...使用任一库函数时应在程序中包含WINSOCK.H头文件。在附录A.2中还列出了一些与BERKELEY兼容的头文件。这些头文件只起到兼容性的作用,它们都包含了WINSOCK.H

异步SOCKET编程-发送和接收数据

我本想把发送和接收分开作为两部分,但是最后我决定只略微... 当有数据发送过来时, WinSock 会以 FD_READ 事件通知你, 对于每FD_READ 事件, 你需要像下面这样调用 recv() :int bytes_recv = recv(wParam, &data, si

华为机考题库(全)

包括招聘的机考题,及面试过程中会问到的数据结构的相关内容,排序算法全部包括并且有改进算法,一点点改进可以让你表现的与众不同,如果好的话给点评价吧亲

相关热词 c# exe 所在路径 c#重载运算符++ add c# list c# 抓取数据 c# p2p库 c#窗体怎么验证邮箱格式 c# 回调方法 c# 去除小数后多余的0 c# 字符串查找替换 c# 什么是属性访问器