WSAWaitForMultipleEvents 没有for循环了,是怎么回事? [问题点数:40分,结帖人bsnry]

Bbs5
本版专家分:3154
结帖率 94.74%
Bbs5
本版专家分:3154
Bbs6
本版专家分:7981
Blank
黄花 2014年10月 VC/MFC大版内专家分月排行榜第二
2014年9月 VC/MFC大版内专家分月排行榜第二
Bbs5
本版专家分:4796
Bbs6
本版专家分:7981
Blank
黄花 2014年10月 VC/MFC大版内专家分月排行榜第二
2014年9月 VC/MFC大版内专家分月排行榜第二
Bbs5
本版专家分:3154
Bbs6
本版专家分:7981
Blank
黄花 2014年10月 VC/MFC大版内专家分月排行榜第二
2014年9月 VC/MFC大版内专家分月排行榜第二
Bbs5
本版专家分:3154
Bbs6
本版专家分:7981
Blank
黄花 2014年10月 VC/MFC大版内专家分月排行榜第二
2014年9月 VC/MFC大版内专家分月排行榜第二
SendMessage没有返回是怎么回事
我发送一个SendMessage,由原窗口进行处理,该窗口处理完成了并返回了0,可是我原先SendMessage的那个线程却执行不到下一句了,一直卡在那边,这是神马情况,求指教啊
Windows下重叠I/O模型
 一.Windows下重叠I/O模型1. 重叠模型的优点2. 重叠模型的基本原理3. 关于重叠模型的基础知识4. 重叠模型的实现步骤5. 多客户端情况的注意事项 二.重叠模型的优点 1.可以运行在支持Winsock2的所有Windows平台 ,而不像完成端口只是支持NT系统。2.比起阻塞、select、WSAAsyncSelect以及WSAEventSelect等模型,重叠I/
重叠I/O之完成例程
这个模型中有两个函数可以交换着用,那就是WSAWaitForMultipleEvents()和SleepEx()函数,前者需要一个事件驱动,后者则不需要。是不是听起来后者比较厉害,当然不是,简单肯定是拿某种性能换来的,那就是当多client同时发出请求的时候,SleepEx如果等候时间设置成比较大的话,会造成client连接不上的现象。具体可以运行一下示例代码体会一下。 示例代码1(WSAWait
WSAWaitForMultipleEvents()
  简述:只要指定事件对象中的一个或全部处于有信号状态,或者超时间隔到,则返回。  #include   DWORD WSAAPI WSAWaitForMultipleEvents( DWORD  cEvents,  const WSAEVENT FAR * lphEvents, BOOL fWaitAll,  DWORD dwTimeout,  BOOL fAlertab
Windows socket之WSAEventSelect模型
转载自:http://blog.csdn.net/ithzhang/article/details/8476556             WSAEventSelect模型        WSAEventSelect模型是Windows socekts提供的另一个有用异步IO模型。该模型允许在一个或多个套接字上接收以事件为基础的网络事件通知。Windows socke
没有命名空间System.winform是怎么回事
如题
“类没有注册”是怎么回事
我的程序中有用到一个ActiveX组件,我把程序拿到一台没装这个ActiveX组件的机子上用,出现“类<em>没有</em>注册”的提示。我把这个ActiveX组件COPY到Windows\system下面,并regsvr32 xxx.dll,但居然提供这个组件无法注册?这是<em>怎么回事</em>呢??
为什么WSAWaitForMultipleEvents函数没有接收到数据?
主啊,救救我吧.搞了N天了,可还是不知道为什么WSAWaitForMultipleEvents参数里的事件就是<em>没有</em>受信啊.用sniffer抓包,发现数据已经发过来了.可为什么我的客户端程序就是<em>没有</em>响应.下面是我程序代码.先谢谢大家了.我帮解决这个问题吧.rnDWORD WINAPI CP2PClient::RecvThreadProcFromServer(LPVOID lpParam)rn CP2PClient * client = (CP2PClient*)lpParam;rn while(TRUE)rn rn if(client->m_bThreadServerExit)rn break;rn // 在所有事件对象上等待rn int nIndex = ::WSAWaitForMultipleEvents(client->nEventTotal, client->eventArray, FALSE, WSA_INFINITE, FALSE);rn // 对每个事件调用WSAWaitForMultipleEvents函数,以便确定它的状态rn nIndex = nIndex - WSA_WAIT_EVENT_0;rn for(int i=nIndex; inEventTotal; i++)rn rn nIndex = ::WSAWaitForMultipleEvents(1, &client->eventArray[i], TRUE, 1000, FALSE);rn if(nIndex == WSA_WAIT_FAILED || nIndex == WSA_WAIT_TIMEOUT)rn rn continue;rn rn elsern rn // 获取到来的通知消息,WSAEnumNetworkEvents函数会自动重置受信事件rn rn WSANETWORKEVENTS event;rn ::WSAEnumNetworkEvents(client->sockArray[i], client->eventArray[i], &event);rn if(event.lNetworkEvents & FD_ACCEPT) // 处理FD_ACCEPT通知消息rn rn if(event.iErrorCode[FD_ACCEPT_BIT] == 0)rn rn if(client->nEventTotal > WSA_MAXIMUM_WAIT_EVENTS)rn rn printf(" Too many connections! \n");rn continue;rn rn SOCKET sNew = ::accept(client->sockArray[i], NULL, NULL);rn WSAEVENT event = ::WSACreateEvent();rn ::WSAEventSelect(sNew, event, FD_READ|FD_CLOSE|FD_WRITE);rn // 添加到表中rn client->eventArray[client->nEventTotal] = event;rn client->sockArray[client->nEventTotal] = sNew; rn client->nEventTotal++;rn rn rn else if(event.lNetworkEvents & FD_READ) // 处理FD_READ通知消息rn rn if(event.iErrorCode[FD_READ_BIT] == 0)rn rn char szText[1024];rn // CP2PMessage *pMsg;rn int nRecv = ::recv(client->sockArray[i], szText, strlen(szText), 0);rnrn // if(nRecv > 0) rn rn szText[nRecv] = '\0';rn // pMsg = (CP2PMessage *)szText;rn client->HandleIOFromServer(szText,nRecv);rn //printf("接收到数据:%s \n", szText);rn rn rn rn rn else if(event.lNetworkEvents & FD_CLOSE) // 处理FD_CLOSE通知消息rn rn if(event.iErrorCode[FD_CLOSE_BIT] == 0)rn rn ::closesocket(client->sockArray[i]);rn for(int j=i; jnEventTotal-1; j++)rn rn client->sockArray[j] = client->sockArray[j+1];rn client->sockArray[j] = client->sockArray[j+1]; rn rn client->nEventTotal--;rn rn rn else if(event.lNetworkEvents & FD_WRITE) // 处理FD_WRITE通知消息rn rnrn rn ::WSAResetEvent(client->eventArray[i]);rn rn rn rn return 0;rn
WSAWaitForMultipleEvents()问题!!!!!!!!!!
客户端:rnWSAWaitForMultipleEvents(2,g_bEvent,FALSE,5000,FALSE)rn我想用它作定时发送所用rn(1)当超时时间到就发送一个包rn(2)WSAEventSelect(s,g_bEvent[1],FD_READ|FD_CLOSE)==SOCKET_ERROR),等待读事件的到来rnrn服务器端:rn也是定时发送包,客户端等待读事件的到来rnrn可是测试的时候发现,发送的包可以定时发送,可是读事件只能触发几次就不行了。rn有人这样用过吗?还是这样用不可以呢?
WSAWaitForMultipleEvents 87
在WinXP下,调用正常,但是在Wince下执行WSAWaitForMultipleEvents返回错误 87参数不正确。 rn请教一下,错误在什么地方? rnrn已下代码在线程中执行,pClientSocket->m_hClientEvent是与连接Socket对应的事件, rnWSAWaitForMultipleEvents只监听一个事件,等待1000.. rn[code=C/C++]rn dwIndex = WSAWaitForMultipleEvents(1,&pClientSocket->m_hClientEvent,TRUE,1000,0);rn if (WSA_WAIT_TIMEOUT /* 258 */ ==dwIndex)rn continue;rn elsern if (WSA_WAIT_FAILED == dwIndex)rn rn pClientSocket->m_strLastError.Format("WSAWaitForMultipleEvents 等待事件发生错误,错误原因:%d",WSAGetLastError());rn AfxMessageBox(pClientSocket->m_strLastError);rnrn continue;rn rnrnrnrn[/code]
关于WSAWaitForMultipleEvents
根据网络编程中几种I/O模式的比较,WSAEventSelect在体现并发连接上体现了很好的性能。rn可是WSAWaitForMultipleEvents一次最多只能等待64个连接,如果需要等待更多的连接,需要用到多线程,可是不知道这个多线程怎么构建和同步,请大家一起讨论!
一个没有{}的for循环
如果<em>for循环</em><em>没有</em>{} ,那么该<em>for循环</em>默认对第一条语句进行循环,以;结尾就结束了。这个语法同样适用于if ,while循环。 例如下面这个例子: public class ForDemo { public static void main(String[] args) { int MyIntArray[] ={10,20,30,40,50,60,70}; int s=0; f
为什么没有跳出for循环
编写一函数,计算数组元素之和,要求传递数组名和数组大小来处理数组边界问题。rn我的程序是这样的:rn[code=c]rn#include rn#include "MyFunction.h"rnusing namespace std;rnint sum2_array(const int ia[ ],size_t ia_size)rnrn int sum=0;rn for(;ia!=ia+ia_size;++ia)rn sum+=*ia;rn return sum;rnrnint main()rnrn int array[5]=1,2,3,4,5;rn cout<<
for循环没有执行
num=2rnrnsql &= strUnionrnfor i=i to numrnsql &= "select 2+i*3,6+i*3"rnsql &= " from A"rnnextrnstrUnion = " union "rn为什么出现的结果是 select 2+i*3,6+i*3 from A union select 2+i*3,6+i*3 from Arn而不是我想要的结果 5 9rn 7 12rn哪为大虾指点下,先谢了rnrnrn
请问WEB网站没有日志文件是怎么回事
IIS,好像所有的WEB站点都<em>没有</em>保存日志,但有启用,请问可能是什么问题?rn谢谢
没有调用到方法是怎么回事
各位前辈帮帮忙,小妹刚学习这高科技,有点搞不懂;rnrn我做了一个按钮“提交”,然后有给他写了一个方法,可是点提交的时候就是<em>没有</em>调用到方法,这是<em>怎么回事</em>呢?
javascript提示“错误:没有权限”是怎么回事
我在网页里面嵌了一个rnrn1.htm 里面的javascript语句:rnparent.objrnrn运行时提示:“错误:<em>没有</em>权限”rn然道调用父窗口的对象需要什么权限?rn
::前面没有出现类名是怎么回事
比如这么一句:rnm_hThread = ::GetCurrentThread();
请问textbox没有language属性是怎么回事
webform中的textbox<em>没有</em>language属性,晕。不知道<em>怎么回事</em>?rn另外我的webform中,rn我把document属性中rncharset值设置为简体中文(GB2312)rncodepage值设置为936rn页面中有textbox1和button1rn运行后, rn我在textbox1中输入中文,rn然后按button1,rntextbox1中的中文就变成乱码了。rn<em>怎么回事</em>啊? rn
播放有声音没有图像是怎么回事
昨天从网上下载一个中国对泰国的武术比赛实况,可回家后发现用media播放时有声音<em>没有</em>图像!这是怎么啦?怎么办啊?
请问没有监听器是怎么回事
我今天在自己机子上安装了oralce 9irn我用用户名SYS 密码change_on_installrn启动,出来一个对话框:ORA-12541:TNS:<em>没有</em>监听器rn不知是<em>怎么回事</em>,大家帮帮我~~
机器莫名其妙的没有了显示信号,是怎么回事
我的机器在使用中,经常莫名其妙的<em>没有</em>了显示信号,重起后又有了。是<em>怎么回事</em>?rnrn解决问题者即给100分。
编辑器控件没有光标是怎么回事
一个带菜单带的未完成编辑器,相同的代码在VC6里编译成功带光标rn结果在VS2008里生成的就<em>没有</em>了光标,输入不了,谁知道这是<em>怎么回事</em>么?求解决
switch中没有case是怎么回事
各位大侠 本人在一段VC的程序中看到如下代码 rnswitch(ident)rn rnrnHANDLE_GET(GET_ORDER,get_order,m_pdbctl,m_pubvar,info,rows,errtxt,errcode);rnHANDLE_GET( GET_ORDERS, get_orders,m_pdbctl,m_pubvar,info,rows,errtxt,errcode);rnHANDLE_GET( GET_ILLNESS_STATE, get_illness_state,m_pdbctl,m_pubvar,info,rows,errtxt,errcode);rnHANDLE_GET( GET_TIME_SCHEDULE, get_time_schedule, m_pdbctl, m_pubvar, info, rows, errtxt, errcode );rndefault:rnreturn MY_ERROR(E_ID_WRONG,IDS_ERR4,errcode,errtxt);rn为何看不到case语句呢
错误提示:程序没有正确安装,是怎么回事
主要是windows 7 64-bit,说“这个程序安装可能不正确”,问“使用推荐的设置重新安装”或者选择“这个程序已经正确安装”或者“取消”。rnrn程序应该是正确安装了的。这种提示一般出现在关闭这个vb程序窗口以后立刻出现。rnrn这个程序的安装打包文件是inno setup,运行安装程序至第一步,若选择“取消”,也会出现这个错误提示。rnrnrnrn若选择“这个程序已经正确安装”,运行该程序将不再出现这个错误提示。rn若选择“取消”,错误提示继续出现。rnrn问题是:为什么会出现这个错误提示?怎样避免?
对话框初始化没有显示图片是怎么回事
各位大虾,我建了一个MFC基于对话框的程序,在对话框里摆了一个picture control控件,并为它设置了control型变量m_ingBox,现在我想让该对话框初始化时就在空间中显示资源列表中的图片IDB_BITMAP1,可是我将下面的代码放入onInitDialog()和onPaint()中,程序都<em>没有</em>显示出图片,请问是<em>怎么回事</em>?rnrnCRect rect;rnm_imgBox.GetWindowRect(&rect);rnCBitmap bitmap;rnbitmap.LoadBitmap(IDB_BITMAP1);rn rnCPaintDC dc(this);//对话框的dc rnCDC dcMem;rndcMem.CreateCompatibleDC(&dc);rndcMem.SelectObject(&bitmap);rndc.StretchBlt(rect.top, rect.left, rect.Width(), rect.Height(), dcMem, 0,0, 300, 300, SRCCOPY);
服务器没有配置事务处理是怎么回事
我登陆居于网内的一台及其的时候提示<em>没有</em>权限使用网络资源,服务器<em>没有</em>配置事务处理,<em>怎么回事</em>,怎样才能使我可以访问那太机器?对方及其win2000专业版。
Eclipse报错的地方没有红线是怎么回事
Eclipse报错的地方<em>没有</em>红线是<em>怎么回事</em>啊[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/5.gif][/img]
提示没有这个表是怎么回事
show tables;rn结果中有hdmsg表;rn但是查询的时候:rnSELECT * FROM dsdvrdb.hdmsg ;时,却提示表不存在,在information_schema数据库的tables中,也确实找不到dsdvrdb所有的表,但其他的数据库中的表就有,是<em>怎么回事</em>?rnrndsdvrdb中所有表都是采用innodb,其他的库中采用的是myisam。rn
VC中的提示没有了是怎么回事呀?
怎么打开提示呀?
提示变量没有定义是怎么回事
我用了IEWebcontrol控件。代码如下:rn//////////////////////////////////////////////////////////////////////rnrnrnrn rnrnrnrnrn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rnrn rn rn rnrnrn/////////////////////////////////////////////////////////////////////////////////////////rnrn执行时出错,错误如下:rn//////////////////////////////////////////////////rnServer Error in '/' Application.rn--------------------------------------------------------------------------------rnrnCompilation Error rnDescription: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately. rnrnCompiler Error Message: BC30451: Name 'txtSampleText' is not declared.rnrnSource Error:rnrn rnrnLine 8: rnLine 9: Sub Toolbar_ButtonClick( s As Object, e As EventArgs )rnLine 10: lblText.Text = txtSampleText.TextrnLine 11: Select Case chkgColor.SelectedCheckButton.TextrnLine 12: case "red"rn rnrnSource File: E:\Tiger Studio\tiger\T_ASP\SimpleToolbar.aspx Line: 10 rn////////////////////////////////////////////////////////////////////////////////rnrnrn请问这是为什么呢?(注:安装IEwebcontrol完全按说明进行,而且去了变量,函数后可正常显示,还有就是在树控件中,我把《ASP.NET揭密》中的一段例子原样写入,在Sub ShowChecked(colNode As TreeNodeCollection)时,也出错,提示:TreeNodeCollection 模糊,请问这些问题到底是<em>怎么回事</em>)rn
android手机有些文件没有后缀名是怎么回事
这些文件用File的exists()方法判断为false,那么该怎样获取它们?这些文件是怎样产生的呢,分析后缀名的工具也分析不出来
装声卡驱动没有数字签名是怎么回事
机子是联想的品牌,它的所有驱动程序全在一张光盘上。rn我今天重装系统后,显卡、网卡驱动都装了,就只有声卡驱动在rn此盘上装不上,让机子自动搜索驱动,搜索出来的YAMAHA说什么rn<em>没有</em>MS的数字签名,然后声卡就装不上,<em>怎么回事</em>
我的VS.NET没有帮助是怎么回事?
我买了一个VS.NET,七张盘的.rnrn装上以后打开Microsoft Visaul Studio.Net文档,发现什么也<em>没有</em>,目录/索引全是空rnrn的,而安装目录下MSDN目录却有1。03G,其中有两个目录一个1033,里面什么 也<em>没有</em>rnrn一个2052目录,文件全在这,都是一些.HxS .Hxi文件 ,双击也出现打开方式,请问这些rnrn是MSDN的帮助文件 吗?那是用什么 打开呢?怎么样才能看到帮助文件 ?
页面没有刷新是怎么回事呀?
在本地运行是<em>没有</em>问题的,但上传到我的服务器之后出现超级链接页面不能自动刷新了,就是点超级链接页面无法更新,只有再点IE上的刷新才能更新页面,这样就让我十分难做,只在我只有在每个超级链接的后面都加上"?temp="来更新页面,请问这是什么原因?是服务器设置的问题吗,请具体说明一下,谢谢!
treeview没有层次线是怎么回事啊?
treeview<em>没有</em>层次线是<em>怎么回事</em>啊?
设备上没有空间是怎么回事
我在 /usr/local下建立了一个database目录,准备把mysql,postgres,subversion的库文件都放在这里,现在mysql的data目录指向这个目录后可以启动,但是无法建立数据库,新建立了一个postgres用户rnuseradd postgres -d /usr/local/database/postgresrn结果 postgres 用户在这个postgres目录里边新建目录提示设备上<em>没有</em>空间,这是什么问题啊? 用root用户在postgres目录是可以建立目录的 说明不是<em>没有</em>空间,应该是权限问题吧,可是要怎么设置这个目录的权限呢?
SYSTEM后面没有DATA是怎么回事
我怎么突然<em>没有</em>SYSTEM.DATArnImports System.Datarnrn Imports后面有microsoft,system和MYrnSYSTEM后面<em>没有</em>DATA
RichTextBox中没有OLEObjects属性是怎么回事
我看了有好多关于RichTextBox插入图片的方法,其中有一种是 RichTextBox1.OLEObjects.Count 但是我点完之后却<em>没有</em>OLEObjects属性请问是需要导入什么命名空间么? rn我用的是WinFrom窗体项目
网络电缆没有插好,是怎么回事
大家好,我有一台式机和一个笔记本。rn我的台式机这两天突然就提示:网络电缆<em>没有</em>插好。我怎么插网线,都不管用。我还用小刷子刷了一个网卡的口,依然是不管用。我怀疑是网线水晶头的问题,结果插在笔记本上一切正常,所以网线水晶头都<em>没有</em>问题,我又ping 127.0.0.1,能ping通,这应该说明网卡也<em>没有</em>坏吧。请问这些情况都排除了,还有什么情况能导致这种(网络电缆<em>没有</em>插好)提示呢?谢谢!
FCKEditor的编辑器没有出来是怎么回事
FCKEditor的编辑器<em>没有</em>出来是<em>怎么回事</em>?rnrn[img=https://img-bbs.csdn.net/upload/201311/15/1384502841_872924.png][/img]rnrn在哪里设置才能显示
刚装的photoshop没有快捷键是怎么回事?
如题!rn什么ctrl+n,什么ctrl+o了,全不能使rnrn我该怎么办
setLayoutParams有时会没有效果是怎么回事
vv是listView里面的一个itemviewrnrnViewGroup.LayoutParams params = vv.getLayoutParams();rnparams.height = height;rnvv.setLayoutParams(params);rnrn我在这段代码前,后分别打印出了height,vv.getHeight();rn大多数时候2个值是一直的,说明setLayoutParams是成功的(设置前的vv.getHeight()和设置后的vv.getHeight()是改变了的)rnrn但是偶尔会出现设置前vv.getHeight() == 设置后vv.getHeight()的现象(height与vv.getHeight()不等)rn说明setLayoutParams失败了?但是这个函数的返回值是void啊。。rn也没说有失败的情况。rn我本想着在外面加个while dorn直到设置成我需要的值才跳出该段代码,实际效果是会出现timeout的现象rnrn求原因 求解决方法rnrn
没有文件名只有扩展名是怎么回事???
在2000中有一个SQL Server文件<em>没有</em>主文件名只有扩展名,rn请问诸位:这是如何建立的?rn
session 没有执行垃圾回收 是怎么回事
session.gc_probability = 1rnsession.gc_divisor = 1rnsession.gc_maxlifetime = 1rn配置文件这样修改后 并<em>没有</em>执行垃圾回收
电脑开机没有桌面图标显示是怎么回事?
开机后<em>没有</em>桌面显示的,盼达人们来解决!!!谢谢了!!!
class view 里没有一个类是怎么回事
class view 里<em>没有</em>一个类是<em>怎么回事</em>?我把.clw删了,关掉VC,再进也不行,还有什么办法吗? rn
新手问:onpaint()没有执行是怎么回事?
各位大侠:onpaint()<em>没有</em>执行是<em>怎么回事</em>啊?急!我是一个新手,谢谢!给分
程序没有执行page_load是怎么回事
rt
邮件发送时,提示“没有权限”是怎么回事??
本地测试已成功,但上传后,提示<em>没有</em>权限??rn请问是什么问题?rnrn我使用的是CDONTS.NewMail组件。rnrnobjMail.Send 报错rnrn
easyui-layout没有下拉滚动条是怎么回事
我建立了一个layout 在左边放树 右边放datagrid 当左边的树不断展开的时候 layout<em>没有</em>下拉滚动条 导致树的下半部分无法查看 请大家帮忙解决 感激不尽!!
关于WSAWaitForMultipleEvents的奇怪问题
近来想学学网络编程,就修改了网络流传的一个IOCP封装类编写了一个服务器框架。奇怪的是无法接受客户端的连接请求。我一步一步排查。发现出错地址在这:rnunsigned __stdcall NetCompletionPort::AcceptThreadFun(LPVOID param)rnrn OutputDebugString("NetCompletionPort::AcceptThreadFun(LPVOID param)");rn NetCompletionPort* p = (NetCompletionPort*)param;rn rn DWORD dwRet = 0;rn while(p->m_isCreate)rn rn OutputDebugString("进行AcceptThreadFun 循环");rn if (!p->m_isCreate)rn break;rn OutputDebugString("before WSAWaitForMultipleEvents");rn dwRet = ::WSAWaitForMultipleEvents(1,rn &(p->m_hEventListen),rn FALSE,rn 100,rn FALSE);rn rn if (WSA_WAIT_TIMEOUT == dwRet)rn rn OutputDebugString("WSAWaitForMultipleEvents WSA_WAIT_TIMEOUT");rn continue;rn rn rn rn WSANETWORKEVENTS WSAEvents;rn dwRet = WSAEnumNetworkEvents(p->m_listenSocket, p->m_hEventListen,rn &WSAEvents);rn rn if (SOCKET_ERROR == dwRet)rn break;rn rn rn if ((WSAEvents.lNetworkEvents & FD_ACCEPT) && (0 == WSAEvents.iErrorCode[FD_ACCEPT_BIT]))rn rn OutputDebugString("PostAcceptEx");rn if(!p->PostAcceptEx())rn return FALSE;rn elsern return TRUE;rn rn rn rn return TRUE;rnrnrn当客户端发出连接请求后,WSAWaitForMultipleEvents还是会返回WSA_WAIT_TIMEOUT ,而不会执行到下面的PostAcceptEx()函数。rn
关于WSAWaitForMultipleEvents函数
如果等待多个事件对象的情况下rn我们都知道此函数的第二个函数是event的句柄数组,第一个参数是数组的大小rn如果数组大小大于实际的event句柄数组大小,有<em>没有</em>问题?rn比如event的数组 只有event[0]这么一个元素rn但我把WSAWaitForMultipleEvents第一个参数设为2rn
询问信号WSAWaitForMultipleEvents
n 适用人群n n windows网络编程的初学者n nnn 课程概述n n 课程简介:n这部教程是windows网络编程课程的第一部分课程:tcp/ip协议n后续会有第二部分课程:udp/ip协议以及第三部分课程http协议的课程发布。希望能够帮助到大家。n课程内容:nc/s模型的编码,5种windows网络模型:select,异步选择,事件选择,重叠io,完成端口,以及基础理论知识的讲解。n课程分八章,总课时100课时左右,每日更新2~5节.n课程代码会带大家一行一行书写,保证大家都能够学会。n课程适合人群:n网络编程爱好者,网络编程初学者n课程章节:n第一章 c/s模型的讲解以及代码实现n第二章 select模型的讲解以及代码实现n第三章 异步选择模型的讲解以及代码实现n第四章 事件选择模型的讲解以及代码实现n第五章 重叠i/o模型的讲解以及代码实现n第六章 完成端口模型的讲解以及代码实现n第七章 tcp/ip基础知识的讲解,包括网络分层,三次握手,四次挥手,协议头等等。n n
我的一次for循环 输出两次是怎么回事啊!
这是代码:rnrn/*[测试数据] 输入n 为 10 (形成10个结点的表)rn 输入10个字符,如:A,B,C,D,E,F,G,H,I,Jrn 选择I,输入G,10 程序运行的结果是什么?rn 选择I,输入G,14 程序运行的结果是什么?rn选择I,输入M,4 程序运行的结果是什么?rn选择D,输入6 程序运行的结果是什么?rn选择D,输入20 程序运行的结果是什么?rn请将测试后的结果写出来,分析结果正确与否,提出改进意见*/rnrnrn#include rn#includern#define maxsize 1000 rntypedef char datatype ;rnrn rntypedef structrnrn datatype data[maxsize] ; /*定义线性表为一个向量*/rn int last;rn sequenlist ;rn/* 插入函数*/ rnint insert(sequenlist *L,char x,int i) rn /*将新结点X插入到表L的第I个位置*/rn /*L为指向线性表sequenlist类型的指针变量*/rn rn int j ;rn if ((*L).last== maxsize-1)rn rn printf("overflow\n") ;rn return 0;rn rn else if ((i(*L).last+1))rn rn printf("error\n") ; /* 非法位置*/rn return 0 ;rn rn elsern rn for(j=(*L).last ;j>=i-1 ; j--)rn (*L).data[j+1]= (*L).data[j] ;rn (*L).data[i-1]= x ;rn (*L).last = (*L).last +1 ;rn rn return 1 ;rn rnrn /* 删除函数*/ /*从表中删除第I个结点*/rnint delete (sequenlist *L, int i)rnrn int j ;rn //if(i(*L).last+1)rn if(i(*L).last+1)rn rn printf("error\n") ;rn return 0 ;rn rn elsern rn for ( j=i;j);rn for(i=0;i
WSAWaitForMultipleEvents 等待时间设置
WSAWaitForMultipleEvents 很多实例代码都是设超时时间,让后判断是不是 WSA_WAIT_TIMEOUT ,是的话再进入上层的无限循环,这么节省cpu消耗么?rn为什么不 WSAWaitForMultipleEvents 等待时间设置成无限等待?
?WSAWaitForMultipleEvents如何退出
rn while (Network_Quit)rnrn Index=WSAWaitForMultipleEventsEventTotal,Event,FALSE,WSA_INFINITE,FALSE);rnWSAEnumNetworkEvents(Socket[Index],Event[Index],&NetworkEvents);rnif (NetworkEvents.lNetworkEvents&FD_READ)rnrn switch (Index)rn rn case 0: rn rn if (NetworkEvents.iErrorCode[FD_READ_BIT]!=0 )rn break;rn Recvsize = recvfrom(Socket[Index], Buffer, sizeof(Buffer), 0, NULL, NULL);rn rn rnrn在无数据时如何退出?! rn请大侠帮忙?
请教WSAWaitForMultipleEvents的用法
有哪位高手可以指教,我怎样才能知道本机的网络状态,非Ping的方法rn比如我怎样才能知道我自己的网线不通,用VC++实现,rn我想用WSAWaitForMultipleEvents函数应该可以实现,但<em>没有</em>试成rn有哪位高手用过,望不吝赐教rn谢谢!!!
关于WSAEventSelect和WSAWaitForMultipleEvents??
部分源码:rnrnWSAEVENT acceptEvent; //rnWSAEVENT tmpEvent;rnrn//如下写报错(1)rnWSAEVENT hEventArray[] = netEvent, tmpEvent ;rnrn//(2)rnDWORD res = WSAWaitForMultipleEvents( 2, hEventArray, TRUE, WSA_INFINITE, false );rnrnrnrn////////rn问题:rn1。(1)处为何会报错?rn2。 WSAWaitForMultipleEvents的地2个参数必须为数组么?不能是单独的一个WSAEVENT么?rn3。究竟怎么才能正确地把WSAEVENT和WSAWaitForMultipleEvents关联起来?rnrnrnrnrn
java中for循环没有跳出
大家好,下面的代码中Cal.size()是1,<em>for循环</em>应该只执行一次,但是有时却执行了多次,System.out.println("H是:"+h);打印多次都是0,循环<em>没有</em>跳出,很奇怪,不明白是什么问题,以下是完整代码,三个<em>for循环</em>是同样的问题rn//每五秒钟自动遍历一次数据库,将策略数据发送至指定集中控制器rn Runnable send = new Runnable() rn @Overridern public void run() rn Mysend:rn //for无限循环rn for(;;)rn rn try rn //byte[] cllx=1,2,3;rn Convertion con=new Convertion();rn gettacticsdata data=new gettacticsdata();rn //读取存储在Map中已登录用户IDrn Map map = Mymap.getChannels();rnrn Iterator it = map.keySet().iterator();rn while (it.hasNext()) rn rn String key = it.next();rn SocketChannel obj = map.get(key);rn //判断当前客户是否在线,如果在线就传数据,不在就删除存储在Map中的登录信息rn if(obj.isActive()==true)rn rn //查询需要下发的策略B数据rn ArrayList Bal = new ArrayList();rn Bal=data.GetBdata(key);rn //判断是否有需要下发的策略rn if(Bal.size()>0)rn rn for(int i=0;i0)rn rn for(int h=0;h0)rn rn for(int j=0;j
javascript中没有进入for循环
[code=JScript]$('#btnCquery').click(function () rn var selectradio = $('#child').find("input[checked=true]");rn if (selectradio.length == 0) rn alert("请选择需要查询的表"); return;rn rn var data = "";rn var left = "";rn $("#child input:checked").each(function () rn var b = $(this).val();rn data += b + "&";rn );rn [color=#FF0000] for (var i = 0; i < data.length(); i++) [/color] if (data.substring(i, i + 1).equals("&")) rn left = "childid=" + data.substring(0, i).trim();rn postAjax("Query",rn "ComplexDataQueryGet",rn left,rn function (json) rn loadtable(json);rn );rn rn else rn alert("请选择需要查询的表");rn rn rn );[/code]rnrn我这边程序走到for以后就直接跳到jquery.js中的1936行rnvar ret = handleObj.handler.apply( this, arguments );//1936rnjQuery.event.handle.apply( eventHandle.elem, arguments ) ://1599rnrn请问这是<em>怎么回事</em>呢?
在存储过程和sql中有没有for循环?
我想在在一个表中插入多条有规律的记录如:某个字段从1到100插入100条记录,用存储过程或查询如何实现? (不要高手我用100的insert)
SQL中有没有FOR循环,急!
SQL中有<em>没有</em>FOR循环,急!
WSAWaitForMultipleEvents使用疑问
下面的这个函数是一个WSAEventSelect模型的服务线程,多线程实现。这里作者使用了两个WSAWaitForMultipleEvents对事件对象数组进行检查网络事件。我怎么没看明白,是不是for()循环那个WSAWaitForMultipleEvents是不需要的?作者的用意是什么?给看看?rn[code=C/C++]rn//处理I/O的线程rnDWORD WINAPI ServerThread(LPVOID lpParam)rnrn pTHREAD_OBJ pThread=(pTHREAD_OBJ)lpParam;rn printf("新线程%d起动\n",GetCurrentThreadId());rn while(true)rn rn //等待网络事件rn int nIndex=WSAWaitForMultipleEvents(pThread->nSocketCount+1,pThread->hEvents,false,WSA_INFINITE,false);rn nIndex=nIndex-WSA_WAIT_EVENT_0;rn //查看受信事件rn for(int i=nIndex;inSocketCount+1;i++)rn rn nIndex=WSAWaitForMultipleEvents(1,&pThread->hEvents[i],true,0,false);rn if(WSA_WAIT_FAILED==nIndex||WSA_WAIT_TIMEOUT==nIndex)rn rn continue;rn rn elsern rn if(0==i)rn rn RebuildArray(pThread); // 重建句柄数组rn if(pThread->nSocketCount==0)rn rn FreeThreadObj(pThread);rn printf("线程%d退出\n",GetCurrentThreadId());rn return 0;rn rn ::WSAResetEvent(pThread->hEvents[0]);rn rn elsern rn pSOCKET_OBJ pSocket=FindSocketObj(pThread,i);rn if(pSocket!=NULL)rn rn if(!HandleIO(pThread,pSocket))rn rn RebuildArray(pThread); // 重建句柄数组rn rn rn elsern rn printf("unable to find socket object\n");rn rn rn rn rn rnrn[/code]
关于WSAWaitForMultipleEvents的问题。
我先在一个线程中启动WSAWaitForMultipleEvents等待事件,然后在另外一个线程中也启动WSAWaitForMultipleEvents,但这时前一个线程的WSAWaitForMultipleEvents就失效了。是否在一个进程中只能有一个WSAWaitForMultipleEvents?
WSAWaitForMultipleEvents为什么不响应的问题
WSAWaitForMultipleEvents中等待的事件中有一个是用于侦听端口的事件,rn当有客户来的确可以响应,rn但是当我将侦听套接字关闭closesocket,rn为什么WSAWaitForMultipleEvents不会响应关闭呢?rn于是我用SetEvent();对注册的网络事件[关联于侦听套接字]rn进行设置有信号,结果同样不会响应?rn有朋友可以告诉我原因吗?rn假如线程在等待WSAWaitForMultipleEvents这个的响应,而此时<em>没有</em>任何客户连接进来rn,那么我们应该如何让它能够发生响应呢?除了设置超时,欢迎大家讨论
WSAWaitForMultipleEvents 挂起问题
初学winsock,遇到以下问题rnrnWSAWaitForMultipleEvents 的解释中有这一条:rn如果<em>没有</em>指定的网络事件发生,WSAWaitForMultipleEvents 将被挂起。rnrn而在我的具体程序中,并<em>没有</em>其他连接到本地端口,rn但是 WSAWaitForMultipleEvents () 并<em>没有</em>期望中的挂起,而是运行到下一步?rn何解呢?rnrn以下是具体代码:rn[code=C/C++]rn ret = bind(SocketServer,(LPSOCKADDR)&ServerAddr,sizeof(ServerAddr));rnrn WSAEVENT AcceptEvent = WSACreateEvent(); // 创建监听事件对象rn // 与socket关联,并注册事件类型rn ret = WSAEventSelect(SocketServer,AcceptEvent,FD_ACCEPT | FD_CLOSE);rnrn ret = listen(SocketServer,5); // 设置等待连接,连接最大数为5rn rn DWORD index;rn _WSANETWORKEVENTS networkEvents;rn rn while (1)rn rn // 等待网络事件 rn// 在无连接情况下,本期望在这一步挂起,但是依然进行到后面步骤 rn index = WSAWaitForMultipleEvents(2,&AcceptEvent,TRUE,1000,FALSE);rn rn // 找出事件类型rn WSAEnumNetworkEvents(SocketServer,AcceptEvent,&networkEvents);rn rn rn[/code]rnrn 恳请执教。
有关WSAWaitforMultipleEvents()问题?急!!!!
对于WSAWaitforMultipleEvents()的前两个参数我有一下几点疑问。rn前两个参数cEvents和lphEvents参数定义了由WSAEVENT对象构成的一个数组。 cEvents指定的是这个数组中事件对象的数量。而lphEvents是一个指针,用于直接引用该数组。从某些资料中看到此函数只能支持64个事件。做多64个套接字。rn假如我现在用一个线程来监测网络事件,我的cEvents, lphEvents怎么设置,还有我如果只连接一个socket呢。用WSAWaitforMultipleEvents()函数是否不合适。rnrn谁能贴一段用wsaEventSelect模型监视网络事件的独立线程块。rnrn高分感谢!!!!!!!
怎么回事!
为什么我一执行SQL语句提示就出错,但数据库是连接上的!!
怎么回事?
我在CMainFrame的OnCreate函数中写了一行代码:rnrnGetMenu()->GetSubMenu(1)->SetDefaultItem(1);rnrn然后编译通过,可是运行时就会出现这个:rn[img=http://img.my.csdn.net/uploads/201204/12/1334227923_5078.PNG][/img]rnrnrn
怎么回事
vs2010中出现一下情况,即有空格的地方是圆点,也就是空格被圆点替代,请问是<em>怎么回事</em>?rnrnrnrnrnrn.........rnrnrn.... rnrnrn.... rn.... rn.... rn....rn....rnrnrnrn
<>是怎么回事?
本人在ORACLE下执行一些查询,添加,删除操作,并使用了事物,但<em>没有</em>使用游标,rn请问报<>是什么原因rnrn本人是数据库盲,请多指教!!!!rn谢谢
怎么回事
rn是sml中所说的dtd吗rn是<em>怎么回事</em>rn谢谢rn
回调函数没有执行怎么回事
//回调函数/////////////////////////////////////////////////////////////////////////rnLRESULT CALLBACK CFaceDetectDlg::FrameCallbackProc(HWND hWnd, LPVIDEOHDR lpVHdr)rnrn //unsigned char * data;rn AfxMessageBox("回调函数");rn data = lpVHdr -> lpData; // 获得视频数据首址并将数据存入data数组中以便处理 rn rn CString mid1,info1= " "; rn for(int j=0;j +mid1); rn rn AfxMessageBox(info1);rnrn return (LRESULT) TRUE;rnrn这个回调函数<em>没有</em>执行是<em>怎么回事</em>?很急
ORA-01012:没有登录 怎么回事
我的工程里有一个DataModule,DataModule上放一个TDatabase的控件(KeepConnection=true,LoginPrompt=true),其他单元都通过这个Database连接Oracle数据库。rn但是运行时连接数据库的时候弹出异常:“ORA-01012:<em>没有</em>登录”,应该弹出一个登录数据库的对话框的啊!(还没完善,所以现在我只需要当连接数据库的时候能像默认的一样弹出登录对话框,让我输入user/password正确连接数据库就OK了)rnrn为什么呢?
没有win32sdk.hlp文件了,怎么回事
我原来装了Delphi6.0和7.0,昨天把6.0卸了,在7.0中就<em>没有</em>win32sdk.hlp文件了,这个文件在哪呀?有多大?不大的话,谁能发给我一份,我不想重装。rnjbzj@xinhuanet.com
localsessionfactorybean 没有 packagesToScan怎么回事
rn rn com.annotationssh.*rn rn rnrn为什么<em>没有</em>packagesToScan 都换了好几个spring.jar 了 <em>怎么回事</em> 2.5.6以上的版本也<em>没有</em>找到name="packagesToScan",..........注解扫描只能这一种么 其他的都出了 Unknown entity[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/onion/33.gif][/img]
bootstrap-datetimepicker没有图标了,怎么回事
我用 asp.net web form 跟着网上的代码写了一次 , 为什么人家的有“向左 、 向右”的箭头,而我的就<em>没有</em> , rn我的代码如下:rn[code=html]rnrnrnrnrnrnrnrn rnrnrnrn rn rnrnrn rn rnrnrn rnrnrn rn rnrnrnrnrnrn rnrnrnrn rn rn rn rn rnrnrnrnrn[/code]rnrnrn截图是这样的:rn[img=https://img-bbs.csdn.net/upload/201411/13/1415862887_857330.png][/img]rnrn为什么<em>没有</em>了箭头啊??rnrn人家网上的是这样的rn[img=https://img-bbs.csdn.net/upload/201411/13/1415862960_750155.png][/img]rnrn小弟刚刚学习前端编程 , 是不是有些css<em>没有</em>加进去啊???rn求解。。。。。
DWORD_PTR没有定义。怎么回事
我是用SDK,做着RichEdit这个控件的时候。rnrn搜索整个VS的目录,<em>没有</em>发现“DWORD_PTR”这个数据类型,但在MSDN中发现了。rnrnEditStreamCallbackrnThe EditStreamCallback function is an application defined–callback function used with the EM_STREAMIN and EM_STREAMOUT messages. It is used to transfer a stream of data into or out of a rich edit control. The EDITSTREAMCALLBACK type defines a pointer to this callback function. EditStreamCallback is a placeholder for the application defined–function name. rnrnDWORD CALLBACK EditStreamCallback(rn DWORD_PTR dwCookie, // application-defined valuern LPBYTE pbBuff, // data bufferrn LONG cb, // number of bytes to read or writern LONG *pcb // number of bytes transferredrn);rnParametersrndwCookie rn[in] Value of the dwCookie member of the EDITSTREAM structure. The application specifies this value when it sends the EM_STREAMIN or EM_STREAMOUT message. rnpbBuff rn[in] Pointer to a buffer to read from or write to. For a stream-in (read) operation, the callback function fills this buffer with data to transfer into the rich edit control. For a stream-out (write) operation, the buffer contains data from the control that the callback function writes to some storage. rncb rn[in] Number of bytes to read or write. rnpcb rn[in] Pointer to a variable that the callback function sets to the number of bytes actually read or written.
没有权限??这是怎么回事.
发信人地址:zhu82@21cn.comrnrnrn收信人地址:332@21cn.com rnMicrosoft VBScript 运行时错误 错误 '800a0046' rnrn<em>没有</em>权限 rnrn/zujian.asp,行31 rn
java数组逆序,第二个for循环没有执行是为什么?
import java.util.*;rnpublic class Execise rnrn public static void main(String[] args) rn rn Scanner input=new Scanner(System.in);rn System.out.println("输入5个数");rn double[]number=new double[5];rn double temp;rn rn //遍历rn for(int i=0;i<=end;start++,end--)rn temp=number[start];rn number[start]=number[end]; rn number[end]=temp;rn System.out.println(number[end]);rn
没有这样的头文件?怎么回事
rnH:\C编程代码\doc1.c(2) : fatal error C1083: Cannot open include file: 'MSP430X14X.H': No such file or directoryrn怎么解决?rn
电脑声音没有了?怎么回事
电脑的声音没了,驱动<em>没有</em>问题,重装也不行。rn我觉得可能是Volumn Control里的four speaker均衡器被设置成为静音了,可能在注册表中被修改被禁止了。rn你有什么办法吗?rn
bmp没有显示,怎么回事?
void canvasFrame::OnPaint() rnrn // TODO: Add your message handler code herern RECT rect;rn CPaintDC dc(this); // device context for paintingrn CDC* mdc = new CDC;rn CBitmap* bitmap = new CBitmap;rn GetClientRect(&rect);rn mdc->CreateCompatibleDC(&dc);rn bitmap->m_hObject = (HBITMAP)::LoadImage(NULL,"25.bmp",IMAGE_BITMAP,rect.right,rn rect.bottom,LR_LOADFROMFILE);rn mdc->SelectObject(bitmap);rn dc.BitBlt(0,0,rect.right,rect.bottom,mdc,0,0,SRCCOPY);rn if (mdc)rn delete mdc;rn if (bitmap)rn delete bitmap;rn // Do not call CFrameWnd::OnPaint() for painting messagesrnrn有25.bmp,但运行程序时<em>没有</em>显示?
没有找到org.apache.struts.action.Action,怎么回事
问题如上。rn开发工具:MyEclipsernrn已经将struts.jar包放在\WEB-INF\lib下面了,可是还有这样的问题。rnrn求解决方法。
WavecomQ2430A通信C程序下载
包含2个独立文件。 GSM模块WavecomQ2430A与单片机的通信程序,C; SONIX单片机与164的读写程序,C。 相关下载链接:[url=//download.csdn.net/download/Huangh0z0/1971926?utm_source=bbsseo]//download.csdn.net/download/Huangh0z0/1971926?utm_source=bbsseo[/url]
系统加速器清楚系统垃圾下载
系统加速器.bat 清楚系统垃圾 系统加速器.bat 清楚系统垃圾 系统加速器.bat 清楚系统垃圾 系统加速器.bat 清楚系统垃圾 相关下载链接:[url=//download.csdn.net/download/cgm998/2180407?utm_source=bbsseo]//download.csdn.net/download/cgm998/2180407?utm_source=bbsseo[/url]
C++ Templates下载
C++ Templates begins with an insightful tutorial on basic concepts and language features. The remainder of the book serves as a comprehensive reference, focusing first on language details, then on a wide range of coding techniques, and finally on advanced applications for templates. Examples used th 相关下载链接:[url=//download.csdn.net/download/starvoneclondy/2770897?utm_source=bbsseo]//download.csdn.net/download/starvoneclondy/2770897?utm_source=bbsseo[/url]
我们是很有底线的