(问与答)写 network 程式的学习步骤

: 以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后才写得比较顺手

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值