Python3——网络编程基础
基础知识参考:
https://blog.csdn.net/wqx521/article/details/51037048
https://blog.csdn.net/wqx521/article/details/51056649
https://blog.csdn.net/wqx521/article/details/51056713
https://blog.csdn.net/wqx521/article/details/51056724
TCP:SOCK_STREAM
UDP:SOCK_DGRAM
socket()模块函数
(1)、函数原型:
socket(socket_family, socket_type, protocol=0)
(2)、参数说明:
socket_family:AF_UNIX 或 AF_INET。
socket_type:SOCK_STREAM或 SOCK_DGRAM。
protocol:通常省略,默认为 0。
(3)、返回值:套接字
from socket import *tcpSock = socket(AF_INET, SOCK_STREAM, 0)udpSock = socket(AF_INET, SOCK_DGRAM, 0)
服务器常用方法 | |
s.bind() | 将地址(主机名、端口号对)绑定到套接字上 |
s.listen() | 设置并启动 TCP监听器 |
s.accept() | 被动接受 TCP 客户端连接,一直等待直到连接到达(阻塞) |
客户端常用方法 | |
s.connect() | 主动发起 TCP 服务器连接 |
s.connect_ex() | connect()的扩展版本,此时会以错误码的形式返回问题,而不是抛出一个异常 |
普通套接字方法 | |
s.recv() | 接收 TCP 消息 |
s.recv_into() | 接收 TCP 消息到指定的缓冲区 |
s.send() | 发送 TCP 消息 |
s.sendall() | 完整地发送 TCP 消息 |
s.recvfrom() | 接收 UDP 消息 |
s.sendto() | 发送 UDP 消息 |
s.getpeername() | 连接到套接字( TCP)的远程地址 |
s.getsockname() | 当前套接字的地址 |
s.getsockopt() | 返回给定套接字选项的值 |
s.setsockopt() | 设置给定套接字选项的值 |
s.shutdown() | 关闭连接 |
s.close() | 关闭套接字 |
s.ioctl() | 控制套接字的模式(仅支持 Windows) |
面向阻塞的套接字方法 | |
s.setblocking() | 设置套接字的阻塞或非阻塞模式 |
s.settimeout() | 设置阻塞套接字操作的超时时间 |
s.gettimeout() | 获取阻塞套接字操作的超时时间 |
面向文件的套接字方法 | |
s.fileno() | 套接字的文件描述符 |
s.makefile() | 创建与套接字关联的文件对象 |
localhost:主机,与127.0.0.1一样。