: 以TCP/IP 写一个client 与server机场起降时间查询网路程式
: 1.Server纪录目前航空公司起降时间
: CI-008 18:35PM
: AR-237 19:02PM
: EC-0989 20:20PM
: 2.Client读入使用者输入
: 输入C表示查询所有CI起降时间
: 擗JA □顸d询所有AR起降时间
: 擗JE□顸d询所有EC起降时间
“法律法规查询”&www.daohei.com&“标准体重计算”
[img=http://www.daohei.com/图片/头.jpg][/img]
要写好这个作业应该会很难
你需要先看 orielly I/O 那一本书
先懂 java.io的封装性, serializable
然后再看 orielly 的network programming和金禾的java网际网路程式设计
你就会懂network io, multi thread, thread synchronized
然后你应该学会一些技巧
如window跟linux的断行不一样会做成readline的问题 (/r/n, /n)
没有synchronized会做成错误
各物件lock的顺序没有相同的拓扑顺序有可能出现deadlock
network io作native必需要sleep, sleep跟RTT接近时效能可能会很好
都懂以后就可以开始设计server/client之间comment
例如指令一定只有一行的话, 你可以使用print(command + "/r/n");
于是你就会想到你看过java.io中有不错的东西
如writeUTF8, object output stream等
而协定你可以参考file transport protocol(FTP), 这样对你很有帮助
ftp协定有singal line comment, multi line comment
另外对socket有active mode 和 passive mode
协定定好了以后, 程式要用到的工具都略懂一二后
就开始写出外壳, 以金禾那本书中的范例不错
至少这样你不会在一开始就写烂程式 (network client一多程式就出现真面目)
然后client就可以套一个GUI上去, 不过GUI不太好写
需要学一点pattern后才写得比较顺手