VC单文档下怎么socket编程?

本人简单网络编程也做过2个小项目,都是在窗体下编程,用的是SOCKET对象,UDP。

可是今天在单文档下, WSAAsyncSelect激活事件无效,而同样的代码是Dialog下事件能识别。

过程一样:1. 自定义消息 

               2. 初始化SOCKET对象,创建、绑定,发送,接收

不知道为什么单文档下View里自定义消息里,FD_READ|FD_WRITE等识别不了。在单文档的文档类和框架类同样的代码也识别不了事件,而Dialog程序可以。

 

网络上很多讲解SOCKET或CSocket或CAsyncSocket的UDP和TCP编程。

UDP——版本初始化,创建socket对象,地址初始化,绑定,直接发送或接收

TCP——版本初始化,创建socket对象,地址初始化,绑定,监听,等待Accept,发送或接收

简单的运用过程中,初始化创建socket绑定地址都没问题,主要用到的就是发送网络数据和接收网络数据,而发送可以需要时,直接调用sendTo(UDP),但是接收网络消息的时候,需要触发事件,否则计算机收到了来自网络的数据包,可就是不会去缓冲区receive收据。方法有两种,一种是自定义消息,当FD_READ消息是,调用receive函数;另一种是定时器或启动一个线程函数,在此函数中调用receive函数。

 

有几个疑惑:1.WSAAsyncSelect激活事件,单文档工程应该怎样,在哪能识别相应消息?

                  2.send(sendTo)与receive(recvFrom)在工程里一般怎样用?普通的流程与调用函数都知道,可具体工程有些不对劲。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值