Socket机制
Socket概述
Socket,又称套接字,用于描述IP地址和端口。应用程序通常通过socket向网络发出请求或者应答网络请求。Socket就是为网络编程提供的一种机制:
通信两端都有socket;
网络通信其实就是socket之间的通信;
数据在两个socket之间通过IO传输;
网络编程也称作为Socket编程,套接字编程;
Socket通信是Client/Server模型。
创建socket
在Python中使用socket模块的函数可以完成创建socket:
import scoket
socket.socket(AddressFamily,Type)
说明:
函数socket.socket创建一个socket,该函数带有两个参数:
- AddressFamily:可以选择AF_INET(用于Internet进程间的通信)或者AF_UNIX(用于同一台机器进程间的通信),实际工作中常用AF_INET
- Type:套接字类型,可以是SOCK_STREAM(流式套接字,主要用于TCP协议)或者SOCK_DGRAM(数据报套接字,主要用于UDP协议)
创建一个tcp socket(tcp套接字)
import scoket
# 创建tcp的套接字
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
# ...这里是使用套接字的功能...
# 不用的时候关闭套接字
s.close()
创建一个ucp socket(tcp套接字)
import scoket
# 创建ucp的套接字
s = socket.socket(socket,AF_INET,socket,SOCK_DGRAM)
# ...这里是使用套接字的功能...
# 不用的时候关闭套接字
s.close()
说明:
套接字使用流程与文件的使用流程类似:
- 创建套接字
- 使用套接字收/发数据
- 关闭套接字