Scktsrvr.exe的源程序
2015-11-09 11:32
260 查看
以下内容摘自http://www.sudu.cn/info/html/edu/20071227/54284.html
读一读Scktsrvr.exe的源程序
使用DELPHI做多层开发的朋友们都应该对Scktsrvr.exe这个程序不陌生的,
Borland公司在DELPHI中给出了它的源代码。
这是一个Array00来行的程序,程序不算长,
现在我只选其中部分仔细读一读。
走的线路大致是,从服务器接到客户端连接,处理客户端的一个请求(这儿
选了客户端向服务器发出的取应用服务器列表请求)
服务器接受了客户端连接后,
因为ServerSocket采用的是阻塞模式,服务器执行了下面这个线程来
服务客户端:
View Code
这儿很明显,就是Data中包含数据的长度值.
需要提一下的是,如果你想改变一下传输数据块的格式,比如给它加密加压什么的,
中需要自己来实现IDataBlock接口,替掉TDataBlock就是了.
从这些源码中可以得到很多东西,无论是从优美的风格上,
无论是通讯程序开发还是MIDAS数据库以及DCOM学习或应用者,
它都是值得一读的源程序.
我觉得,更重要的是,它提供了一个严谨优美和实际的范例,更给出了
一个灵活实用的框架体系
读一读Scktsrvr.exe的源程序
使用DELPHI做多层开发的朋友们都应该对Scktsrvr.exe这个程序不陌生的,
Borland公司在DELPHI中给出了它的源代码。
这是一个Array00来行的程序,程序不算长,
现在我只选其中部分仔细读一读。
走的线路大致是,从服务器接到客户端连接,处理客户端的一个请求(这儿
选了客户端向服务器发出的取应用服务器列表请求)
服务器接受了客户端连接后,
因为ServerSocket采用的是阻塞模式,服务器执行了下面这个线程来
服务客户端:
function TDataBlock.GetSize: Integer; begin Result := FStream.Size - BytesReserved;//BytesReserved的值这儿是8 end; 从这儿可以看出.数据块是从Stream的第8个字节算起,前面就是两个int型数的位置了. function TDataBlock.GetSignature: Integer; begin FStream.Position := 0; FStream.Read(Result, SizeOf(Result)); end; 呵, 没错, Stream的头四字节就是它的Signature.客户端的请求标志就是放在这儿. function TDataBlock.GetStream: TStream; var DataSize: Integer; begin FStream.Position := 4; DataSize := FStream.Size - BytesReserved; FStream.Write(DataSize, SizeOf(DataSize)); FStream.Position := 0; Result := FStream; end;
View Code
这儿很明显,就是Data中包含数据的长度值.
需要提一下的是,如果你想改变一下传输数据块的格式,比如给它加密加压什么的,
中需要自己来实现IDataBlock接口,替掉TDataBlock就是了.
从这些源码中可以得到很多东西,无论是从优美的风格上,
无论是通讯程序开发还是MIDAS数据库以及DCOM学习或应用者,
它都是值得一读的源程序.
我觉得,更重要的是,它提供了一个严谨优美和实际的范例,更给出了
一个灵活实用的框架体系
相关文章推荐
- Cheerio,服务端的JQuery。
- ubuntu使用遇到的问题
- 基本的UI控件和布局文件
- 在Linux系统的VPS上对硬盘进行分区、格式化和挂载的方法
- SVN使用教程之-分支/标记 合并 subeclipse
- 探索推荐引擎内部的秘密,第 1 部分: 推荐引擎初探
- 探索推荐引擎内部的秘密,第 1 部分: 推荐引擎初探
- 探索推荐引擎内部的秘密,第 1 部分: 推荐引擎初探
- 探索推荐引擎内部的秘密,第 1 部分: 推荐引擎初探
- 探索推荐引擎内部的秘密,第 1 部分: 推荐引擎初探
- 探索推荐引擎内部的秘密,第 1 部分: 推荐引擎初探
- 探索推荐引擎内部的秘密,第 1 部分: 推荐引擎初探
- 探索推荐引擎内部的秘密,第 1 部分: 推荐引擎初探
- 探索推荐引擎内部的秘密,第 1 部分: 推荐引擎初探
- 探索推荐引擎内部的秘密,第 1 部分: 推荐引擎初探
- 探索推荐引擎内部的秘密,第 1 部分: 推荐引擎初探
- 探索推荐引擎内部的秘密,第 1 部分: 推荐引擎初探
- 总结
- 2015网龙笔试题
- 使用Quick-Cocos2d-x开发植物大战僵尸04-展示植物卡片与僵尸