CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  网络编程

关于CSocket类

楼主youhaodeyi(友好的翼)2005-07-07 11:48:24 在 VC/MFC / 网络编程 提问

1  
  当客户端连接完服务器后,什么时候调用receive函数,是不是自动调用?  
  2   我在服务器端接受数据时是这么写的:  
      do   {  
  CMsg   *pMsg=ReadMsg(pSocket);  
  if(pMsg==NULL)  
  return;  
   
  }   while(pSocket->m_pArchiveIn->IsBufferEmpty());  
  ReadMsg函数用来发送数据,可是当服务器运行时,坠入了死循环,这该怎么处理?要让服务器既能接受数据,也可同时作一些其他操作 问题点数:10、回复次数:9Top

1 楼jishufenxi(天高云淡)回复于 2005-07-07 12:00:30 得分 0

1、连接建立之后就可以调用receive,接收到数据这个函数才返回。  
  2、用多线程Top

2 楼rockersz(世上的无奈需要我去忍耐...)回复于 2005-07-07 12:02:20 得分 0

把那个循环放到线程中执行Top

3 楼youhaodeyi(友好的翼)回复于 2005-07-07 12:35:43 得分 0

不放到线程中就不行了吗?我从网上下载了一个聊天的程序,它就是这么写的,可我看不懂为什么没有坠入死循环。这个论坛好像不能上传程序吧,要不应该给你们看看那个程序  
   
  receive是自动接受还是人工调用?Top

4 楼leposy()回复于 2005-07-07 17:18:17 得分 0

调用receive的话应该是阻塞的,只有收到数据才会返回。  
  你可以建一个自己的类继承CSocket类,然后重载OnReceive()函数就可以了,只要有收到数据就会自动触发该函数Top

5 楼youhaodeyi(友好的翼)回复于 2005-07-08 14:51:16 得分 0

是呀,我就是在OnReceive中写的这些代码,可是它总是循环执行。Top

6 楼ihavenoidea(正)回复于 2005-07-08 21:28:56 得分 10

while(     !     pSocket->m_pArchiveIn->IsBufferEmpty());  
   
  不是应该加个   !   吗?Top

7 楼youhaodeyi(友好的翼)回复于 2005-07-10 08:53:53 得分 0

好了,是应该加一个!,可是我不明白OrReceive函数什么时候被调用,他们说是系统自动调用,那么系统到底在什么情况下调用呢?还是不停的调用?还是隔一段时间调用一次?请教Top

8 楼mrxwh(大徐)回复于 2005-07-11 11:06:19 得分 0

ONRECEIVE()是在接到数据后,进行调用的。就像MSCOMM控件的ONCOMM()函数一样。Top

9 楼yzkzero()回复于 2005-07-11 11:21:08 得分 0

当套接字缓冲区有数据了,就会触发的Top

相关问题

  • CSocket
  • g关于CSocket类
  • CSocket类与多线程
  • CASyncSocket类和CSocket类有什么区别
  • 如何对Csocket类设置超时?
  • 请问CSocket类的简单例程
  • 关于MFC的CSocket类一问
  • CSocket 类的Accept函数如何中断?
  • CSocket类支持多线程吗?
  • CSocket派生类使用出错,请教

关键词

  • 函数
  • 数据
  • 服务器
  • 调用
  • 类
  • onreceive
  • psocket
  • 程序
  • receive
  • 应该

得分解答快速导航

  • 帖主:youhaodeyi
  • ihavenoidea

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo