利用CSocket,CSocketFile,CArchive编写聊天程序是同步阻塞的,能不能配合多线程实现看起来不阻塞的效果?另外有没有人可以分享一下一份简单的代码样例,实现多个客户端利用服务端进行通信的功能?万分感谢!
关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率

已采纳
CSocket,CSocketFile,CArchive一起使用,配合多线程的问题
收起
- 写回答
- 好问题 0 提建议
- 关注问题
微信扫一扫
点击复制链接分享
- 邀请回答
- 编辑 收藏 删除 结题
- 收藏 举报
1条回答 默认 最新
- 关注
码龄 粉丝数 原力等级 --
- 被采纳
- 被点赞
- 采纳率
oyljerry 2016-08-17 14:52关注开线程调用他们就不会阻塞主线程
本回答被题主选为最佳回答 , 对您是否有帮助呢? 本回答被专家选为最佳回答 , 对您是否有帮助呢? 本回答被题主和专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏举报微信扫一扫
点击复制链接分享
评论按下Enter换行,Ctrl+Enter发表内容
报告相同问题?
提交
- 2017-06-11 21:33回答 5 已采纳 问题已经解决! 解决方案是添加互斥量。 WaitForSingleObject; ReleaseMutex; 这样的问题是线程太多,导致内存占用,搞了很久在网上搜索,是内存占用问题。 像下面
- 2016-04-04 07:49回答 1 已采纳 http://blog.csdn.net/frankiewang008/article/details/11796567
- 2015-06-10 14:54回答 4 已采纳 strcpy(StreamFileInfo.szFileTitle,dlg.GetFileName()); 这里不应该用GetFileName(),它只获得文件名,不带路径。应该用GetPathNa
- 2016-08-11 21:04长着胡萝卜须的栗子的博客 CSocket类与CAsyncSocket类CAsyncSocket类编程模型 在一个MFC应用...CSocket类编程模型 使用CSocket对象涉及CArchive和CSocketFile 类对象。 以下介绍的针对字节流型套接字的操作步骤中,只有第3步对于客户方和服
- 2021-09-22 17:06回答 1 已采纳 socket就是网络通信,跟内网外网没有任何关系你只要网络通就行了,对于代码来说没有任何区别
- 2021-12-14 22:01回答 1 已采纳 你到OnAccept的时候才创建pSocket对象,那如果程序先执行OnBnClickedButtonSend,此时pSocket还是个垃圾值,自然会崩溃了。首先CSessionSocket *pSo
- 2016-12-19 08:45回答 2 已采纳 函数调用约定是否一致。cdecl 然后就是传进去的参数类型是否匹配
- 2015-01-22 09:59tomyangguang的博客 Socket有同步阻塞方式和异步非阻塞方式两种使用,事实上同步和异步在我们编程的生涯中可能遇到了很多,而Socket也没什么特别。虽然同步好用,不费劲,但不能满足一些应用场合,其效率也很低。 也许初涉编程的人不...
- 2023-02-20 15:19回答 3 已采纳 根据你提供的代码,我发现可能有两个问题: 1.第二次查询时,服务器端发送的数据可能太长,导致客户端接收到的数据长度不够,从而导致recv函数阻塞。建议使用recv函数返回的实际接收数据长度作为send
- 2019-02-24 15:31回答 1 已采纳 调试器显示的recvData 是指可见的字符串。 如果后面还有其他内容可能显示不了的,比如1234后面是\0 就显示成这样
- 2018-08-24 05:53回答 3 已采纳 如果你的代码用了这些mfc的类,但是作为dll接口公开的函数不涉及它们,不要担心,可以调用。但是如果你的dll的参数或者返回值用到了这些类型(或者派生类),那么就不太好调用了。因为你在java语言中找
- 2014-03-25 14:20### 多线程CSocket详解:MFC下的网络编程实践 在MFC框架下,`CSocket`与`CAsyncSocket`是进行网络通信的重要工具,尤其在开发复杂的客户端/服务器应用时,它们的合理使用至关重要。本文将深入探讨如何在多线程环境...
- 2012-02-09 23:17pedoming的博客 MFC下使用CSocket或者CAsyncSocket进行Socket通信,CSocket继承自 CAsyncSocket。...使用时,CSocket::Receive()和CSocket::Send()函数会阻塞当前线程,直至操作完成;而 CAsyncSocket::Receive()和CAsyncSocket
- 2019-10-08 13:48denghuang4461的博客 摘要部分重点: 1、CAsyncSocket类逐个封装了WinSock API,为高级网络程序员提供了更加有力而灵活的方法。... 2、CSocket类从CAysncSocket继承而来,CSocket类和CSocketFile类可以与CArc...
- 2021-12-14 02:54为了克服这个问题,通常推荐在多线程环境中使用CSocket,这样阻塞的网络操作可以在单独的线程中进行,不会影响主线程或其他工作线程的运行。 CSocket类的一个关键特性是它与CSocketFile和CArchive的协同工作。...
- 2020-02-13 01:54在服务端的使用集合CPtrList类用保存客户端的socket对象,思想与Java中的编程思想一样,只不过Java中会使用多线程技术,在Vector集合保存客户端的socket对象,而MFC框架提供了CSocket类,它是一个异步通信的类,所以...
- 2009-07-10 13:01Csocket类和CsocketFile类可以与Carchive类一起合作来管理发送和接收的数据,这使管理数据收发更加便利。CSocket对象提供阻塞模式,这对于Carchive的同步操作是至关重要的。阻塞函数(如Receive()、Send()、Receive...
- 2015-12-23 10:06Barry__的博客 CSocket的用法 CSocket在CAsyncSocket的基础上,修改了Send、Recieve等成员函数, 帮你内置了一个用以轮询收发缓冲区的循环...曾经看到有人自己创建线程,在线程中创建CSocket对象进行Listen、 Accept,若Accept成功
- 2011-12-06 17:034. **多线程与并发处理**:为了处理来自多个客户端的并发连接,服务器端通常需要使用多线程或多进程技术。每个连接对应一个独立的线程或进程,以便同时处理多个请求。 5. **数据编码与解码**:在网络传输中,数据...
- 2012-12-14 14:54ShineSpark的博客 CSocket类是CAsyncSocket...它与类CSocketFile和CArchive共同合作完成对发送数据和接受数据的管理,CSocket类提供了对于同步操作CArchive对象非常重要的阻塞功能,是程序员在管理数据的发送和接收的工作变得简单。 CS
- 没有解决我的问题, 去提问