我在服务器与客户机之间我想用FOR循环
比如
服务器
for(i = 0;i 〈3 ; i++)
{
send();
}
客户机
for (i = 0;i 〈 3; i++)
{
recv();}这样一运行后就死了
不知道是为什么啊
比如
服务器
for(i = 0;i 〈3 ; i++)
{
send();
}
客户机
for (i = 0;i 〈 3; i++)
{
recv();}这样一运行后就死了
不知道是为什么啊
解决方案 »
- 自制一个ftp客户端 访问本机(127.0.0.1)ftp可以 外网(如202.113.72.6)却不行 应该如何解决
- 将第一个RichEdit控件中的bmp图片,拖放到第二个RichEdit控件中如何实现?
- 关于this指针的问题,请各位多多指教,小弟感激不尽!!!
- 一个DLL,在调用AfxGetInstanceHandle有什么主意的?我为什么找不到我的菜单资源?
- 获得CCOMBOX控件下拉列表中鼠标所选中项的值(Type: Drop list)
- 关于在分割窗口后两视图之间通信的问题?
- 我编了个控制台程序要带参数执行的,我怎么调试,调试怎么设参数?
- 请问 怎样 才能作出push button 被压下去的 那种状态,setcheck 不行
- 如何实现读文本文件然后按指定的排列格式显示出来?
- 关于WebBrower的问题
- 请问一下这样写是不是会出现内存泄漏?
- 位运算讨论!提出方案者有分!
只要说SELECT怎么具体用,或者说如何设置成非阻塞模式
DWORD dwSize = 0;
Sleep(1000);
int iReturnCode = ioctlsocket(g_SocketToServer,FIONREAD,&dwSize);这样dwSize为可读数据长度。如果要求高,那么就使用异步方式。
因为你是循环发送,你的本意是发3次,接3次,但由于网络传输的问题,往往
会三次的数据来了,一个recv就全接下来了。这样你的另两个recv就会继续等待,阻塞。
改为非阻塞吧
{
send();
Sleep(2000);
}
客户机
for (i = 0;i 〈 3; i++)
{
recv();
Sleep(2000);}