socket模块

狂风中的少年 提交于 2020-03-30 05:25:19

socket 模块
C/S架构
服务器是一个软件或硬件,用于用户需求的服务
硬件上,客户端常见的就是平时所使用的PC机。软件上,服务器主要提供的服务主要是程序的运行,数据的发送与接收、合并、升级或其他程序的操作或数据的操作。

套接字
套接字是一种具有“通讯端点”概念的计算机网络数据结构
一种套接字是Unix套接字,其家族名为AF_UNIX
另一种套接字是基于网络的,家族名为AF_INET
如果把套接字比作电话的插口,那么主机与端口就像区号与电话号码的一对组合

面向连接和无连接
无论你使用那一种地址家族,套接字的类型只有两种。一种是面向连接的套接字,另一种是无连接的套接字
面向连接的主要协议就是传输控制协议TCP,套接字类型为SOCK_STREAM
无连接的主要协议是用户数据报协议UDP,套接字类型为SOCK_DGRAM
python中使用socket模块中的socket函数实现套接字的创建

socket函数与方法

创建TCP服务器
主要步骤
1.创建接收服务器套接字:s = socket.socket()
2.绑定地址到套接字:s.bind()
3.启动监听:s.listen()
4.接收客户连接:s.accept()
5.与客户通信:recv()/send()
6.关闭套接字:s.close()

创建TCP客户端
1.创建客户端套接字:cs = socket.socket()
2.尝试连接服务器:cs.connect()
3.与服务器通信:cs.send()/cs.recv()
4.关闭客户端套接字:cs.close()

创建UDP服务器
1.创建服务器套接字:s = socket.socket()
2.绑定服务器套接字:s.bind()
3.接收、发送数据:s.recvfrom()/s.sendto()
4.关闭套接字:s.close()

创建UDP客户端
1.创建客户端套接字:cs = socket.socket()
2.与服务器通信:cs.sendto()/cs.recvfrom()
3.关闭客户端套接字:cs.close()

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!