怎么理解 Python 中的 socket 工作原理?

2016-10-20 15:32:20 +08:00
 ansheng

最近在整网络这块的东西,恰好弄到 socket 了,感觉理解的好笼统,一点那都不专业咋办?各位 V 友有没有对应文章推荐呢?

3523 次点击
所在节点    Python
31 条回复
GeekGao
2016-10-20 17:21:39 +08:00
可以看《 Python 网络编程》 这本书
ansheng
2016-10-20 17:24:07 +08:00
@GeekGao 不是 UNIX 网络编程?
meinqy
2016-10-20 17:40:09 +08:00
@ansheng ip 协议网络层的, tcp/udp 协议是传输层的 不是一个层级的东西。 如果你只是想大概明白 socket 基本就我说的意思哦~~
GeekGao
2016-10-20 18:15:34 +08:00
@GeekGao 先会用,再去分析原理才是正路
ansheng
2016-10-20 18:18:08 +08:00
@GeekGao 会用了,只是想了解下原理方面,毕竟这个东西应用还是蛮多的。
GeekGao
2016-10-20 18:23:25 +08:00
@ansheng 那就参考 6 楼的链接吧,不论啥语言的 Socket 功能,都是对操作系统的 socket 接口做的封装
ansheng
2016-10-20 18:45:29 +08:00
@GeekGao 我觉得 14 楼的挺好的,
GeekGao
2016-10-20 19:19:49 +08:00
@ansheng 那只是网络服务模型,不是你提到的“ socket 工作原理”
julyclyde
2016-10-20 22:30:10 +08:00
@ansheng 技术不需要作比喻,技术就是技术。如果你需要比喻才能理解,那你其实还没理解
ibigbug
2016-10-21 00:52:13 +08:00
两个关键字:三次握手, CLOSE_WAIT 。可以了解各大概了。

这玩意儿很难一下子理解透彻,遇到问题对着状态图多看,自己写个 tcp echo client/server 多试。
Allianzcortex
2016-10-21 09:12:39 +08:00
直接动手就大块头的书太过分了。。如果是要快速理解的话推荐看看 tutorialspoint 家的教程 https://www.tutorialspoint.com/unix_sockets/network_addresses.htm ,如果不做服务器端开发基本不会用到的, Web 框架里面都封装好了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/314160

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX