您好,登錄后才能下訂單哦!
套接字的地址家族(AF, Address Family)分為2種,一種是基于文件的AF_UNIX,一種是基于網絡的AF_INET,;套接字的類型有2種,面向連接的套接字SOCK_STREAM和無連接的套接字SOCK_DGRAM。
UDP常用的模塊有3個:
(1) socket([family[, type[proto]]])
(2) sendto(string,address)
(3) recvfrom(bufsize[, flags]) 收發UDP數據,接收到的是data,address
TCP常用的模塊有6個:
(1) connect(address) 客戶端連接TCP服務器,address地址必須是一個雙元素元組,格式是(host,port)
(2) send(bytes[, flags])
(3) recv(bufsize[, flags]) 收發TCP數據,接收到的是data
(4) bind(address)
(5) listen(backlog) backlog指定最多允許多少個客戶連接到服務器。它的值至少為1。收到連接請求后,這些請求需要排隊,如果隊列滿,就拒絕請求。
(6) accept() 調用accept方法時,socket會時入“waiting”狀態。客戶請求連接時,方法建立連接并返回服務器。accept方法返回一個含有兩個元素的 元組(connection,address)。第一個元素connection是新的socket對象,服務器必須通過它與客戶通信;第二個元素 address是客戶的Internet地址。
TCP連接的流程如下圖所示。
需要注意的是,在socket傳送信息時,只能以byte格式發送,而python3默認的是unicode格式。因此,對python3在發送str時需要編碼str.encode(),接收str時需要解碼str.decode()。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。