Python3——网络编程基础
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Python3——網(wǎng)絡(luò)編程基礎(chǔ)
?
基礎(chǔ)知識參考:
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()模塊函數(shù)
(1)、函數(shù)原型:
socket(socket_family, socket_type, protocol=0)(2)、參數(shù)說明:
socket_family:AF_UNIX 或 AF_INET。
socket_type:SOCK_STREAM或 SOCK_DGRAM。
protocol:通常省略,默認(rèn)為 0。
(3)、返回值:套接字
from socket import *tcpSock = socket(AF_INET, SOCK_STREAM, 0)udpSock = socket(AF_INET, SOCK_DGRAM, 0)?
| 服務(wù)器常用方法 | |
| s.bind() | 將地址(主機名、端口號對)綁定到套接字上 |
| s.listen() | 設(shè)置并啟動 TCP監(jiān)聽器 |
| s.accept() | 被動接受 TCP 客戶端連接,一直等待直到連接到達(阻塞) |
?
| 客戶端常用方法 | |
| s.connect() | 主動發(fā)起 TCP 服務(wù)器連接 |
| s.connect_ex() | connect()的擴展版本,此時會以錯誤碼的形式返回問題,而不是拋出一個異常 |
?
| 普通套接字方法 | |
| s.recv() | 接收 TCP 消息 |
| s.recv_into() | 接收 TCP 消息到指定的緩沖區(qū) |
| s.send() | 發(fā)送 TCP 消息 |
| s.sendall() | 完整地發(fā)送 TCP 消息 |
| s.recvfrom() | 接收 UDP 消息 |
| s.sendto() | 發(fā)送 UDP 消息 |
| s.getpeername() | 連接到套接字( TCP)的遠程地址 |
| s.getsockname() | 當(dāng)前套接字的地址 |
| s.getsockopt() | 返回給定套接字選項的值 |
| s.setsockopt() | 設(shè)置給定套接字選項的值 |
| s.shutdown() | 關(guān)閉連接 |
| s.close() | 關(guān)閉套接字 |
| s.ioctl() | 控制套接字的模式(僅支持 Windows) |
?
| 面向阻塞的套接字方法 | |
| s.setblocking() | 設(shè)置套接字的阻塞或非阻塞模式 |
| s.settimeout() | 設(shè)置阻塞套接字操作的超時時間 |
| s.gettimeout() | 獲取阻塞套接字操作的超時時間 |
?
| 面向文件的套接字方法 | |
| s.fileno() | 套接字的文件描述符 |
| s.makefile() | 創(chuàng)建與套接字關(guān)聯(lián)的文件對象 |
?
localhost:主機,與127.0.0.1一樣。
?
?
?
?
?
?
總結(jié)
以上是生活随笔為你收集整理的Python3——网络编程基础的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 每日一题(42)—— 已知一个数组tab
- 下一篇: 所有文件后缀名查询