请大神帮忙看看啊。谢谢;

auos 2015-03-06 09:16:46
我做一个动态链接库,由于需要使用到网络通信,开始使用CSocket,然后出现可以使用,但是在退出的时候,会出现错误,调用的程序会报使用纯虚函数的错误,好像就是网上说的跨线程使用的问题,我就换方法,用原来的那种套接字来过,奇怪的问题出来的,我创建的是UDP的,步骤和代码基本和网上一些示例的程序一样,socket(),bind(),然后在线程里面select()。奇怪的是用recvfrom去收数据一直是返回10014的错误,用recv可以收到数据,recv不是用于TCP/IP的吗,怎么这样接受反而正确的呢。不知道哪儿有问题啊,请帮忙一下,谢谢大家。
...全文
133 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
auos 2015-03-10
  • 打赏
  • 举报
回复
问题找到了,使用socket是对的,自己犯晕,吧revbform最后一个参数弄错了,不过Csocket跨线程问题没解决,先用socket来实现好了。
auos 2015-03-06
  • 打赏
  • 举报
回复
引用 5 楼 oyljerry 的回复:
10014错误,缓冲区不够
我接受缓冲是够的啊,分配的1000个字节,发送过来的只有10个字节,来源的那个地址用的也对的啊。recv接收是正常的,recvfrom不对,很奇怪
oyljerry 2015-03-06
  • 打赏
  • 举报
回复
10014错误,缓冲区不够
auos 2015-03-06
  • 打赏
  • 举报
回复
引用 2 楼 vcf_reader 的回复:
阻塞、非阻塞,你用混了
什么意思啊,UDP不能用阻塞的啊?
auos 2015-03-06
  • 打赏
  • 举报
回复
引用 1 楼 vcf_reader 的回复:
MSDN有很详细的解释
求地址啊。谢谢
vcf_reader 2015-03-06
  • 打赏
  • 举报
回复
阻塞、非阻塞,你用混了
vcf_reader 2015-03-06
  • 打赏
  • 举报
回复
MSDN有很详细的解释

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧