摘要:3. program examples 示例程序
all examples have been derived from miniterm.c. the type ahead buffer is limited to 255 characters, just like the maximum string length for canonical input processing (<linux/limits.h> or <posix1......
摘要:上周有书商联系我,有意出版一本eclipse开发方面的书籍,这类书籍还是国内出版界的空白,国外也就只出了一本<eclipse in action>。我虽从没写过书,也略知写书的辛苦与报酬低少,然而能做些有意义的新鲜事,我当然是乐而为之。对于我样一个水平低下的程序民工来说,写这本书是很具挑战性的,很怕书出来以后,无人问津,或错误百出,浪费国家的纸张。这类计算机书在市场上真是多如牛毛,我不希望成为其中的一本。
以下是我写这本书的一些粗略的想法以及书的目录,恳......
基于阻塞Socket的远程控制类库-TNetCommand-01问题的提出
1. client端发出命令 【相关文章:
《成长—微软小子的教育》】
远程控制类软件的编写是个痛苦的过程,大概的思路是(假定,控制端为client端,受控端为server端): 【扩展阅读:
学习日记】
3. server端通过解析命令,执行相应的操作 【扩展信息:
如何让JBuilder9支持Struts】
2. server端解析命令
4. server处理完毕后返回处理结果
5. client端接收处理结果
请注意step 2,3中server端的处理。如果所有这些都在server端的一个过程中处理是非常可怕的事。你不得不需要一个大的case语句,也许这样庞大且不停膨胀case语句超越你的控制能力,逼迫你用更自由一点排比句if …then…,但这一切无疑都是一个痛苦的过程。
试想增加一项功能在server端代价:
1. 增加一个命令解析if newcommand then newfunction;
2. 新增一个newfunction;
看起来不错,勤奋一点还算可行。但如果是团队开发,这种开发模式似乎不太容易忍受。总不能每新加一项功能,大家都要在server端指手划脚。
问题的提出:
1. 如何才能避免因为功能增加,导致在server端case语句的膨胀?
2. 如何适应团队的开发?
设计思路
在同一个类中实现client端与server端的处理。
这样做得原因只有一个,将新增功能的处理在所属类中完成。换句话说就是将上述server端的代价在类中完成。-“换汤不换药”?
用统一的形式表达client端的请求与server端的响应。
上述“换汤不换药”的苦衷,在这里希望能博得一些同情。为了解决问题1,而陷入形式主义的泥潭。好了,干巴巴的陈述只会让人感到沮丧,让我们直面代码。
tnetcommand类
源代码
// unetcommand 为其他相关网络操作的祖先类
{{
作者:蛐蛐
时间:2004.5.24
}
unit unetcommand;
interface
uses
classes, idtcpserver, idtcpclient;
type...
下一页 摘要:用sql创建数据库
首先说说怎么用sql语句创建数据库,创建数据库的语句有如下几种: 1. create table(创建新表) 2. create index(增加索引) 3. drop index(删除索引) 4. constraint(约束语句) 5. alter table(修改表) 6. drop table(删除表)
create table语句:
在数据库中生成新表,表中字段的类型可以为:integer(整型)、long(长整型)、 s......