当前位置:首页 >> 脚本专栏

Python中socket网络通信是干嘛的

Socket是什么

Socket是一个抽象层,连接了应用层与传输层,是一组接口。

在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。

所以,我们无需深入理解tcp/udp协议,socket已经为我们封装好了,我们只需要遵循socket的规定去编程,写出的程序自然就是遵循tcp/udp标准的。建立网络通信连接至少要一对端口号(socket)。socket本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口;HTTP是轿车,提供了封装或者显示数据的具体形式;Socket是发动机,提供了网络通信的能力。

这个实例讲述了python使用socket进行简单网络连接的方法:

import socket
print "Creating socket...",
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
print "done."
print "Connecting to www.bitsCN.com",
s.connect(("www.bitsCN.com", 80))
print "done."

上面的代码返回下面的结果:

Creating socket... done.
Connecting to www.bitsCN.com done.