用CSocket编写UDP的网络程序,无法持续触发OnReceive函数啊该如何处理

用CSocket编写UDP的网络程序,无法持续触发OnReceive函数啊?!
背景:机器A给我机器的2012端口持续发送数据(大概没500ms一次),用UDP发送。

我的做法:
1、初始化一个CSocket对象
2、调用Create()方法创建Socket,改方法会自动调用Bind()方法。
3、调用Connect()方法测试连接状态
4、重载OnReceive()方法实现收数

问题:
若机器A发送数据在先,我的程序启动在后,能顺利触发OnReceive()函数,(我在OnReceive里加了断点)。
但是如果我的程序先启动,机器A再发送数据,就无法触发OnReceive()函数了,求解???

------解决方案--------------------
http://blog.sina.com.cn/s/blog_65421bc80100jhsf.html
------解决方案--------------------
另外不建议你是使用CSocket类,用winsock API去写比较好,何况CSocket封装的真的是不怎么样
------解决方案--------------------
以前经常用winsock + select来写网络程序
最近几个项目都在用csocket,也打算用asio
听部长一说,觉得asio的学习需要加快