套接字種類:服務器
基於文件類型的套接字家族AF_UNIX(Unix一切皆文件)網絡
基於網絡類型的套接字家族AF_INET、AF_INET6socket
Python中socket函數:函數
服務端套接字函數:blog
bind() #綁定(主機,端口)到套接字get
listen() #開始TCP監聽工作流
accept() #被動接受TCP客戶端 的鏈接,阻塞式等待鏈接擴展
客戶端套接字函數:file
connect() #初動化TCP服務器鏈接im
connect_ex() #connect函數的擴展版本,出錯時返回錯誤碼
公共用途套接字函數:
send() #發送TCP數據
sendall() #發送完整的TCP數據
recv() #接收TCP數據
sendto() #發送UDP數據
recvfrom() #接收UDP數據
getpeername() #獲取鏈接到當前套接字的遠端的地址
getsockname() #獲取當前套接字的地址
getsockopt() #獲取指定套接字的參數
setsockopt() #設置指定套接字的參數
close() #關閉套接字
面向鎖的套接字函數:
setblocking() #設置套接字的阻塞與非阻塞模式
settimeout() #設置阻塞套接字操做的超時時間
gettimeout() #獲取阻塞套接字操做的超時時間
面向文件的套接字函數:
fileno() #獲取套接字的文件描述符
makefile() #建立該套接字相關的文件
TCP/IP四層:
Socket工做流程: