第一天,睡觉刷微薄。
第二天,刷微薄睡觉。
第三天,…… 。
和胡适先生打牌打牌一样,我一到暑假就彻底慵懒,从小学到大学,暑假从来没有好好利用。开始是有规划的,但是一计划就是一整个暑假,也就是睡睡睡。
吐嘈完自身后,还是总结一下这几天在看奥运刷微薄间隙看的一点python入门书经验吧。
相信很多人都听过这个笑话:一哥们去谷歌面试,简历只有一句话:I wrote python,结果面试到第10轮谷歌才知道这句话的意思。这哥们就是大名鼎鼎的Guido。我当时听到这个笑话,有点纳闷,怎么以python为噱头,而不以cpp,java这些更有名的语言抖包袱呢。现在想来真是惭愧,大二了才知道python。
程序员每隔一段时间就会讨论各种语言的优劣,就像月经一样,即使像Linus这样的高手也不能避免。我个菜鸟就不浪费时间参与python和java,cpp的对比了,直接show the code, 展示一下python的美丽。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
抛开这段代码干什么,直接看外貌,想起一个同学曾经语重声长地对我说:python的代码很漂亮。用现在很火的中国好声音导师哈林老师的话讲就是:python代码辨识度很高。刚接触python一个星期,python用缩进的简洁取代其他语言的各种括号要漂亮多了。
言归真传,这个python例子是实现一个C/S架构的网络编程,重点是socket。我用的是TCP,先讲讲服务器的设计要点:创建服务器套接字->绑定地址到套接字->监听连接->服务器无限循环->接受客户端连接->通信循环->与客户端对话->关闭客户端套接字->关闭服务器套接字。
有了S版本,自然要有Client版本:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
客户端版本设计要点就简单多了:创建客户端套接字->连接服务器->通信循环->对话->关闭客户端套接字。
下面就要测试了。主机ubuntu12.04-desktop运行tcpS.py
客户端虚拟机下的centos6.2-server运行tcpC.py