学习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 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/ 就我个人的经验,不妨:
1.写出基本的TCP连接,知道编写TCP的各个步骤,例如创建socket、绑定port、端口复用等,对TCP稍微做了解,知道协议的每个字段,了解三次握手。
2.了解基本的服务器并发模型,例如多进程、多线程、IO复用
3.了解一些网络库例如twisted
其实想研究深入还得去读《UNP》《TCPv1》之类的书籍,但是这类语言都是基于C的。
我是在Linux下编写C++程序的,我的感觉是要钻研的深入,一般都是用C来描述,
用python这种语言,抽象层次高,容易抓住重点,适合上手,但是同时也规避了很多问题 一般来说分为web编程和网络编程,所以最好分清两者的概念。前者更倾向于去学习一些主流的框架以及自己搭建站点,后者则是从更底层上去描述与实现。所以建议先找到感兴趣的,在好好研究。 可以参考下面这个答案,这个答案对英语不好如何看技术英文文档的问题也有参考性,对照源码读http://docs.python.org/2/library/对英文有帮助。
<span class="n">__cutline_start__</span> <span class="o">=</span> <span class="s">'-'</span> <span class="o">*</span> <span class="mi">20</span> <span class="o">+</span> <span class="s">'以下转发赖勇浩的答案'</span> <span class="o">+</span> <span class="s">'-'</span> <span class="o">*</span> <span class="mi">20</span>
不清楚你具体指的是底层的网络编程,还是偏应用的web开发。如果是做网站的话,那是web开发,建议先去看python的web开发框架,推荐从Django开始,文档比较详细Django:https://www.djangoproject.com/ Socket Programming in Python这里有个简单的教程 我也在学,第一感觉是先学好英语 学习完网络编程基础知识后. 强烈建议学习twisted.

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于Seaborn的相关问题,包括了数据可视化处理的散点图、折线图、条形图等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于进程池与进程锁的相关问题,包括进程池的创建模块,进程池函数等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于简历筛选的相关问题,包括了定义 ReadDoc 类用以读取 word 文件以及定义 search_word 函数用以筛选的相关内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于数据类型之字符串、数字的相关问题,下面一起来看一下,希望对大家有帮助。

VS Code的确是一款非常热门、有强大用户基础的一款开发工具。本文给大家介绍一下10款高效、好用的插件,能够让原本单薄的VS Code如虎添翼,开发效率顿时提升到一个新的阶段。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于numpy模块的相关问题,Numpy是Numerical Python extensions的缩写,字面意思是Python数值计算扩展,下面一起来看一下,希望对大家有帮助。

pythn的中文意思是巨蟒、蟒蛇。1989年圣诞节期间,Guido van Rossum在家闲的没事干,为了跟朋友庆祝圣诞节,决定发明一种全新的脚本语言。他很喜欢一个肥皂剧叫Monty Python,所以便把这门语言叫做python。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

禅工作室 13.0.1
功能强大的PHP集成开发环境

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

记事本++7.3.1
好用且免费的代码编辑器

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器