CSocket CSocketFile CArchive三个类有关问题

CSocket CSocketFile CArchive三个类问题
这几天在看陈坚陈伟写的visualc++网络编程。其中一个实例为一个基于MFC的通讯小程序。程序融合CSocket CSocketFile CArchive这个三个类。
程序中有代码:
msg.Serilize()这个函数就可以完成发送信息的任务,我实在不解。书中说利用可序列化可减少处理很多通信问题,不明白。
其中msg为自定义类的一个对象,重载了Serialize函数,可能我对串行化的理解不够,请各位大神给我仔细讲讲这个原因机制啊。


------解决方案--------------------
没看过

我是菜鸟

一家一言:
CAsyncSocket类,如果你用过它,或者windows socket的api函数

有send , sendto ,revc, recvform之类的吧

具体的记不清了。

哪怕是Csocket的父类也有这些函数。

CSocket 把CSocketFile, CArchive三个类一块使用,屏蔽了更多的细节。


CSocket是默认堵塞的。

你也可以不使用CSockeffile, CArchive这几个类。


比如 直接使用CScoket类,或者你写一个派生类都是可以的。

对话框上的一个按钮,输入一些信息,点击它,发送,

可以如此用: clientScoket.send(,,,);

可能书没有面面俱到吧。


------解决方案--------------------
串行化

并行化 

是2个概念

串行化:从磁盘或者网络的数据 到 一个叫档案的东西(CArchive)

并行化:相反。

我可能记忆反了。

但是就这个意思。

Msg类 继承Cobject,然后是实现Serialize这个函数

CClientSocket:public CSocket

这个类内部定义一个 2个CArchive对象

CClientSocket函数提供不少成员函数,

如ReciveMsg(Msg* pMsg)

内部调用 msg的 Serizale函数(虚函数)

发送一样。


我感觉CSocket蛮复杂的。。


------解决方案--------------------
你F11调试一下进入函数内部,看看
CSocket类不好用,最好还是直接使用winsocket API函数