我的一片天

我的一片天
posts - 27, comments - 12, trackbacks - 0, articles - 16
   :: 首页 :: 新随笔 :: 联系 ::  :: 管理

2008年3月21日

     摘要: CAsyncSocket异步机制
当你获得了一个异步连接后,实际上你扫除了发送动作与接收动作之
间的依赖性。所以你随时可以发包,也随时可能收到包。发送、接收
函数都是异步非阻塞的,顷刻就能完成,所以收发交错进行着,你可
以一直工作,保持很高的效率。

但是,正因为发送、接收函数都是异步非阻塞的,所以仅调用它们并
不能保障发送或接收的完成。

例如发送函数Send,调用它可能有3种结果:错误、部分完成、全部完
成。其中错误又分两种情况:一种是由各种网络问题导致的失败,你
需要马上决定是放弃本次操作,还是启用某种对策;另一种是“忙”,
你实际上不用马上理睬。你需要调用GetLastError来判断是哪种情况,
GetLastError返回WSAEWOULDBLOCK,代表“忙”,为什么当你Send得
到WSAEWOULDBLOCK却不用理睬呢?因为CAsyncSocket会记得你的Send
WSAEWOULDBLOCK了,待发送的数据会写入CAsyncSocket内部的发  阅读全文

posted @ 2008-03-21 12:58 xyz 阅读(577) | 评论 (0)编辑 收藏

     摘要: 最近得到圣者无敌的VC源代码文件,初步运行提示几个错误。做了以下修正后成功运行:
1.安装DirectX 8 SDK
2.修正部分变量的声明
3.把部分没在项目文件列表的CPP文件补充回来(有文件,但没在项目列表)。

由于之前不是使用VC作为编程工具,搞不懂首先处理哪里,经过读了网上的一些文章(MFC程序设计之来龙去脉 )后,终于搞懂,总结如下:

根据VC的工程方式,SOMA工程产生了CSOMAAPP的一个应用程序类(soma.cpp),这个类在afxWinMain中被执行。
1.执行CSOMAAPP的InitInstance
初始化socket,建立登录界面.
2.执行CSOMAAPP的Run
定义消息处理  阅读全文

posted @ 2008-03-21 11:39 xyz 阅读(260) | 评论 (1)编辑 收藏

posted @ 2008-03-21 11:23 xyz 阅读(636) | 评论 (0)编辑 收藏