欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

Python 网络编程需要学习哪些网络相关的知识?

程序员文章站 2022-05-29 12:24:56
...
学习Python有很长一段时间了,可是一直感觉都没有啥子明显的进示。最近想了想,还是觉得自己目标不够明确,不清楚到底学了后能做些什么(业余人士,学编程就是爱好),因此什么都在看,但却什么都没成。总结了下,确定在网络编程方面的深入一下,麻烦大家指教下需要学些什么样的东西。

回复内容:

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 amazon.com/HTTP-Definit
2. Computer Networking: A Top-Down Approach amazon.com/Computer-Net

python 网络编程基础
1. python 网络编程 amazon.com/Foundations-
2. python socket编程的文档 docs.python.org/library
3. python httplib的文档 docs.python.org/library

python常用框架文档:
1. django 的官方网站 djangoproject.com/
2. twisted 的官方网站 twistedmatrix.com/trac/
3. tornado 的官方网站 tornadoweb.org/ 就我个人的经验,不妨:
1.写出基本的TCP连接,知道编写TCP的各个步骤,例如创建socket、绑定port、端口复用等,对TCP稍微做了解,知道协议的每个字段,了解三次握手。
2.了解基本的服务器并发模型,例如多进程、多线程、IO复用
3.了解一些网络库例如twisted

其实想研究深入还得去读《UNP》《TCPv1》之类的书籍,但是这类语言都是基于C的。
我是在Linux下编写C++程序的,我的感觉是要钻研的深入,一般都是用C来描述,
用python这种语言,抽象层次高,容易抓住重点,适合上手,但是同时也规避了很多问题 一般来说分为web编程和网络编程,所以最好分清两者的概念。前者更倾向于去学习一些主流的框架以及自己搭建站点,后者则是从更底层上去描述与实现。所以建议先找到感兴趣的,在好好研究。 可以参考下面这个答案,这个答案对英语不好如何看技术英文文档的问题也有参考性,对照源码读docs.python.org/2/libra对英文有帮助。
__cutline_start__ = '-' * 20 + '以下转发赖勇浩的答案' + '-' * 20
不清楚你具体指的是底层的网络编程,还是偏应用的web开发。如果是做网站的话,那是web开发,建议先去看python的web开发框架,推荐从Django开始,文档比较详细
Django:djangoproject.com/ Socket Programming in Python这里有个简单的教程 我也在学,第一感觉是先学好英语 学习完网络编程基础知识后. 强烈建议学习twisted.Python 网络编程需要学习哪些网络相关的知识?

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频


相关标签: Python