社区
网络编程
帖子详情
有关CSocket在多线程应用中的问题(高分送上)
goldolphin
2003-05-26 03:39:56
问题描述如下:
在Win32 MFC程序中使用CSocket实现阻塞数据报套接字,在主线程中创建并绑定一个套接字。在另一线程中使用该套接字,发送数据包(SendTo)没有问题,但接收(ReceiveFrom)则发生异常。
后将该套接字的创建和使用放在同一线程中,则没有异常,不解。
请各位指点~~~~
...全文
134
8
打赏
收藏
有关CSocket在多线程应用中的问题(高分送上)
问题描述如下: 在Win32 MFC程序中使用CSocket实现阻塞数据报套接字,在主线程中创建并绑定一个套接字。在另一线程中使用该套接字,发送数据包(SendTo)没有问题,但接收(ReceiveFrom)则发生异常。 后将该套接字的创建和使用放在同一线程中,则没有异常,不解。 请各位指点~~~~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
goldolphin
2003-05-28
打赏
举报
回复
FT,结帐
goldolphin
2003-05-27
打赏
举报
回复
事实上,并没有同时在两个线程中用同一个套接字进行收发。
我的意思是
“在另一线程中使用该套接字,发送数据包(SendTo)没有问题,但改为接收(ReceiveFrom)则发生异常。”
“若该套接字的创建和使用(ReceiveFrom)放在同一线程中,则没有异常”
winthegame
2003-05-26
打赏
举报
回复
dizzo(流浪汉) : 楼主不可能是传的对象吧!最最最差也是传指针进去啊。可能是修改了hSocket 的值了...而且楼主也说了,另一线程中使用该套接字,发送数据包(SendTo)没有问题哦。。
dizzo
2003-05-26
打赏
举报
回复
线程之间不能直接传递CSocket对象,要传递句柄。
先CAsyncSocket::Detach(),然后将这个句柄传到线程里,
然后在线程里CAsyncSocket::Attach();
MSDN里面的chat/chatsvr是个很好的例子。
c0der
2003-05-26
打赏
举报
回复
我认为是线程同步问题,请注意共享的数据问题.建议可响应WM_SOCKET_NOTIFY消息从而调用OnReceive() OnSend()等成员函数,可以在它们中调用自己的recv,send,在recv,send后给线程处理数据。
winthegame
2003-05-26
打赏
举报
回复
Debug模式下肯定有About Retry ,ignore 出现啊,用Retry一看,可能多半是因为Socket的句柄为零吧。可能某个语句不小心修改了hSocket的句柄吧。
goldolphin
2003-05-26
打赏
举报
回复
是未处理Win32异常,无法用WSAGetLastError()得到错误信息。系统弹出对话框说在MFC文件sockcore.cpp中有错误~~~~
winthegame
2003-05-26
打赏
举报
回复
接收(ReceiveFrom)则发生异常,那么WSAGetLastError()的描述字是什么啊? 能说说吗?
Network Thread
怎样让控制台程序也能处理消息?到底这样可以吗?请高手指点。我在
多线程
中
使用C
Socket
的,怎么老是出错,请大家帮我看看!VC
中
使用IXMLHTTPRequest获取URL信息的
问题
,有代码*********************************************如何通过IXMLHTTPRequest下载文件?300分请教如何向DNS查询MX记录(SDK+
socket
)那位仁兄有在
vue门户网站模板(zip)
源码直接下载地址: https://pan.quark.cn/s/a4b39357ea24 一个基于vue框架构建的门户网站设计方案 一个基于vue框架构建的门户网站设计方案 一个基于vue框架构建的门户网站设计方案 一个基于vue框架构建的门户网站设计方案 一个基于vue框架构建的门户网站设计方案 一个基于vue框架构建的门户网站设计方案 一个基于vue框架构建的门户网站设计方案 一个基于vue框架构建的门户网站设计方案 一个基于vue框架构建的门户网站设计方案 一个基于vue框架构建的门户网站设计方案 一个基于vue框架构建的门户网站设计方案 一个基于vue框架构建的门户网站设计方案 一个基于vue框架构建的门户网站设计方案 一个基于vue框架构建的门户网站设计方案 一个基于vue框架构建的门户网站设计方案 一个基于vue框架构建的门户网站设计方案 一个基于vue框架构建的门户网站设计方案 一个基于vue框架构建的门户网站设计方案 一个基于vue框架构建的门户网站设计方案 一个基于vue框架构建的门户网站模板
算法设计与实验题解页码从1到n顺序编码,每个页码不含前导0
下载代码方式:https://pan.quark.cn/s/a4b39357ea24 依据所提供的资料,我们深入剖析此
问题
以及所给出的两种算法方案。 ###
问题
背景 该
问题
源自王晓东编撰的《算法设计与实验题解》一书,书
中
阐述了一个值得注意的数学议题:针对一本页码从1到n顺序编号的书籍,要求统计所有页码
中
数字0至9各自出现的频次。例如,若n=13,则页码序列为1、2、...、13,其
中
数字1出现5次(体现在1、10、11、12、13
中
),数字0出现1次(体现在10
中
)。 ###
问题
描述 具体而言,我们需要开发一种算法,其输入参数为一个正整数n,输出结果需为0至9这十个数字各自出现的频次。所有页码均以十进制形式呈现,且不包含任何前导零,即不会出现如006之类的页码表示。 ### 解决方案一:时间复杂度为O(n*log10(n))的算法 首先,介绍一种时间复杂度为O(n*log10(n))的算法实现。其核心构思在于遍历从1到n的每一个数值,然后逐一分解每个数值的各个位,并统计各类数字出现的频次。具体步骤如下: 1. 初始化一个长度为10的数组`count`,用于记录0至9每个数字出现的频次,初始值均为0。 2. 从1开始遍历至n,对于每一个数值i,将其转换为整数并进行以下操作: - 利用循环结构,持续将当前数值除以10,获取余数(即当前最低位的数字),并累加到对应的计数器
中
。 3. 遍历完成后,输出`count`数组
中
的每一个元素,即为所求的结果。 ### 解决方案二:优化算法 为了提升效率,提出了一种更为优越的算法。该算法基于以下观察:在1到10^n-1之间的任意区间内,每一种数字0至9出现的频次是相等的。例如,在1到999之间,每一种数字0至9出现的频次均相...
易语言源码易语言提示闪烁源码
易语言源码易语言提示闪烁源码
易语言源码易语言随心所欲列表框
易语言源码易语言随心所欲列表框
网络编程
18,356
社区成员
64,165
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章