社区
网络编程
帖子详情
有关CSocket在多线程应用中的问题(高分送上)
goldolphin
2003-05-26 03:39:56
问题描述如下:
在Win32 MFC程序中使用CSocket实现阻塞数据报套接字,在主线程中创建并绑定一个套接字。在另一线程中使用该套接字,发送数据包(SendTo)没有问题,但接收(ReceiveFrom)则发生异常。
后将该套接字的创建和使用放在同一线程中,则没有异常,不解。
请各位指点~~~~
...全文
55
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分请教如何向...
基础
各位兄弟,在SDK编程
中
如果实现窗口分割呢?请问怎么得到一个函数的执行时间,单位毫秒!如何调试asp组件呀。用vc++调试编制的组件怎样画一个箭头?
高分
请教如何限制程序运行的方法?求助:通过编程DirectX抓屏-----...
WEB开发文档2 总结
http://blog.donews.com/lvjiyong/archive/2006/06/29/931071.aspx怎样将后台生成的在内存
中
的图象显示到客户端Microsoft IE WebControls下载地址如何在DATAGRID
中
使用JAVASCRIPT脚本控制DataGrid
中
连接到下一页显示...
CSDN回帖得分大全(近两年)
多线程
进度条的显示
问题
[VC/MFC 界面] √ 得到其它 命令行窗口 光标的位置 [VC/MFC 基础类] √ MFC
中
点击一下View 界面 在 点击的 位置 放大 [.NET技术 VC.NET] √ 字体...
Jiangsheng的CSDN Digest (Dec 2005)
但是如果有其他程序占用TOP WINDOW位置,然后切换,如果已经连接到服务器(客户端本身也是
多线程
),那么经常在切换的时候出现CLISTCTRL控件要等一些时间才出现,其他部分却完全正常, 或者把鼠标移动到CLISTCTRL上...
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章