四川大学蓝色星空BBS论坛

四川大学bbs,蓝色星空,四川大学吧,四川大学蓝色星空,蓝色星空bbs,川大蓝色星空bbs,四川大学蓝色星空站,蓝色星空四川大学,川大bbs

[回到开始] [上一篇][下一篇]


发信人: ybcn99 (木木恶补英文), 信区: SCU_CS
标  题: 如何学习网络编程  zz
发信站: 四川大学蓝色星空站 (Sat May 12 21:40:58 2007), 站内

http://www.cppblog.com/waterinfire/archive/2007/05/11/23904.html


    经过多年的网络编程实践之后,个人觉得初学网络编程者可以从以下几个步骤开展:

    1)下载一个可以互动的学习工具,通过这个与这个工具互动,我们可以及时的学到每
个api的结果如果。我个人强烈推荐一个互动好工具,即python,下载地址
http://www.python.org 对于有c/c++或java基础的朋友通过一两个礼拜的时间就可以上手
了,另外个人建议初学者可以学习dive into python。

    2)掌握网络编程中会用到的几个基本概念和内涵,比如IP地址,port号,socket等

    3)记住和消化网络编程C/S模型,把server和client端编程的常用模式理解和消化

    4)花几天时间学习socket api集,api集可以分为下面几大类:
       创建   socket bind listen accept
       收发   read/recv/recvfrom  write/send/sendto
       关闭   close shutdown
       参数   getsockopt/setsockopt
       地址   gethostbyaddr getaddrbyhost,...

       在学习这些api时候,可以先关注在函数功能,参数意义上

    5)结合python互动平台,实践socket api的用法,比如socket函数怎么使用,bind怎
么使用等等。在互动过程中,我们可以变换参数,看看调用结果如何。比如,
       创建一个tcp socket的语法如下:
       socket(AF_INET,SOCK_STREAM)

       创建一个udp socket的语法如下:
       socket(AF_INET,SOCK_DGRAM)

    6)学习socket server端编程实现简单规约比如echo,time等,然后通过cmd中的
telnet来测试。

    7)学习I/O模型,比如阻塞、非阻塞和反应式(select,poll,
WaitForMultipleObject)等


    8)学习Richard Stevens的《Unix网络编程》,深入学习其中的api原理以及服务端设
计原理,并通过代码编写。

    9)下载高性能网络编程框架twisted,笔者强烈推荐,它将使你的网络编程效率提高
10倍以上。

    10)学习设计模式、操作系统知识比如线程、进程、同步等。


--
︵●  http://ybcn2005.blogspot.com
 ■╱
 /


※ 来源:·四川大学蓝色星空站 lsxk.org·[FROM: 蓝色☆空]


[回到开始] [上一篇][下一篇]

szuonline.cn 今天是 2024/04/20
深大在线 荔园在线 荔园晨风 荔园晨风BBS 荔园晨风bbs站 深大bbs 深圳大学bbs 深圳大学论坛 深圳大学内部网 szu bbs 荔园晨风地址 荔园晨风校外地址 荔园晨风登陆地址 荔园晨风登录地址 荔园晨风怎么登录 荔园晨风怎么登陆 深圳大学荔园晨风 荔园晨风登录不了吗 深大荔园晨风关了吗 荔园晨风官网 荔园晨风无法校外登陆 荔园晨风bbs登录不了 梨园晨风
知道为何自古红颜多薄命吗?因为没人在意丑的人活多久。