本月研究桌面共享以及A/V,IM的实现机制,涉及到了distributed object, channel等许多网络方面的知识,于是回头看了RPC->RMI(Remoting, WCF)等相关的东西。理解主要包括两点,1)Binding的实现。服务器端有那些信息,客户端调用时获取了这些信息就可以建立绑定。2)对象的marshal。对象序列化在本地磁盘上作为一个文件与序列化为stream用于网络传输是有些不同的。
鉴于此,本月主要复习了Java中stream的知识,着重理解了对象的serialization。并对文件格式有了一些新的理解。觉得对象序列化,文件格式,网络传输格式之间有许多共同之处。可以概括为Header信息是对于整体的配置描述,data信息是实际的内容。例如bmp文件就有BMP header等和pixel array组成。TCP的帧格式,以及对象序列化要包含相应type的信息以及field的数据信息。
9月份的工作重点放在理解binding的实现上以及application sharing的实现上。