Python学习_27
Socket(一)
1、socket简介
socket又称“套接字”,应用程序通常通过“套接字”向网络发出请求或者应答网络请求,使主机或者一台计算机上的进程可以通讯
2、TCP简介
Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网
互联协议,又名网络通讯协议
,是Internet最基本的协议、Internet国际互联网
络的基础,由网络层
的IP协议和传输层
的TCP协议组成。
TCP是面向连接的通信协议,通过三次握手建立连接,通讯完成时要拆除连接,由于TCP是面向连接的所以只能用于端到端的通讯。 TCP提供的是一种可靠的数据流服务,采用“带重传的肯定确认”技术来实现传输的可靠性。
3、UDP简介
UDP协议全称是用户数据报协议
,在网络
中它与TCP
协议一样用于处理数据包,是一种无连接的协议
4、TCP和UDP的区别
TCP可靠性的实现:
a、校验码
b、接收方的反馈
c、信息包附带序号
UDP:
a、快,不需要花费时间建立和关闭连接
b、偶尔丢失一两个消息包无所谓,但是TCP会严格检查
c、UDP的限制是一个信息包不超过64KB
TCP和UDP的区别就是UDP不建立连接,只保证数据的完整性,数据传输快,但是不保证数据是否真的被收到,也不保证数据只够接受一次,也不保证次序;
服务端是用来给一个或者多个客户端提供服务的,当客户端发起请求,开始等待服务端的返回结果,服务端接受完求情以后,根据自己的逻辑进行处理请求,并返回给客户端,客户端接收到返回结果以后,关闭和服务端的连接
5、服务端
a、创建socket
python中用sock()函数来创建套接字,语法格式如下:
socket
.
socket
(address_famili,socket_type
)
参数address_family:
a、socket.AF_INET 默认ipv4
b、socket.AF_INET6 ipv6
c、socket.AF_UNIX 只能用于单一的unix系统间进行通讯
参数socket_type;
a、socket.SOCK_STREAM 流式socket,TCP
b、socket.SOCK_DGRAM 数据包式socket,UDP
TCP的连接写法如下:
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
b、绑定地址端口
用函数bind(address)
address = (
'193.112.92.65'
,
8001
)
s.bind(address)
注意:address
必须是一个元组,IP地址要用引号
c、监听消息
listen(badklog)
listen(badklog),参数badklog是一个数字,代表可以同时接受多少个socket连接

最低0.47元/天 解锁文章
3246





