1.写出基本的TCP链接,知道编写TCP的各个步骤,例如建立socket、绑定port、端口复用等,对TCP稍微作了解,知道协议的每一个字段,了解三次握手。
2.了解基本的服务器并发模型,例如多进程、多线程、IO复用
3.了解一些网络库例如twistedhtml
不清楚你具体指的是底层的网络编程,仍是偏应用的web开发。若是是作网站的话,那是web开发,建议先去看python的web开发框架,推荐从Django开始,文档比较详细
Django:https://www.djangoproject.com/python
Socket Programming in Python这里有个简单的教程web
Python网络编程是一个很大的范畴,我的感受须要掌握的点有:
1. 如何使用Python来建立socket, 如何将socket与指定的IP地址和端口进行绑定,使用socket来发送数据,接受数据,
2. 如何使用Python中处理线程,从而编写能够同时处理多个请求的web服务器
3. 如何使用Python来控制HTTP层的逻辑,包括如何建立http GET,POST,PUT,DELETE请求,如何处理接受到的HTTP请求,这些分别涉及python的httplib, basehttpserver等模块
4. 掌握一种基本的python的web开发框架,好比webpy, django,pylon
5. 了解非阻塞式的HTTP Server,好比tornado
6. 了解twisted, python编写的消息驱动的网络引擎
参考资料:
网络基础知识
1. HTTP: the definitive guide http://www.amazon.com/HTTP-Definitive-Guide-David-Gourley/dp/1565925092/
2. Computer Networking: A Top-Down Approach http://www.amazon.com/Computer-Networking-Top-Down-Approach-Edition/dp/0136079679/ref
python 网络编程基础
1. python 网络编程 http://www.amazon.com/Foundations-Python-Network-Programming-Goerzen/dp/1590593715
2. python socket编程的文档 http://docs.python.org/library/socket.html
3. python httplib的文档 http://docs.python.org/library/httplib.html
python经常使用框架文档:
1. django 的官方网站 https://www.djangoproject.com/
2. twisted 的官方网站 http://twistedmatrix.com/trac/
3. tornado 的官方网站 http://www.tornadoweb.org/django