|
socket常用功能函數(shù): socket.socket(family=AF_INET, type=SOCK_STREAM, proto=0, fileno=None) #創(chuàng)建socket對象 socket families(地址簇): AF_UNIX —————————— unix本機之間進行通信 AF_INET —————————— 使用IPv4 AF_INET6 —————————— 使用IPv6 注:socket.socket()中第一個能使用上述值。 socket types: SOCK_STREAM # TCP套接字類型 SOCK_DGRAM # UDP套接字類型 SOCK_RAW #原始套接字類型,這個套接字比較強大,創(chuàng)建這種套接字可以監(jiān)聽網(wǎng)卡上的所有數(shù)據(jù)幀 SOCK_RDM #是一種可靠的UDP形式,即保證交付數(shù)據(jù)報但不保證順序。SOCK_RAM用來提供對原始協(xié)議的低級訪問,在需要執(zhí)行某些特殊操作時使用,如發(fā)送ICMP報文。SOCK_RAM通常僅限于高級用戶或管理員運行的程序使用。 注:這些常量都是套接字類型,應用于 協(xié)議號通常為零,可以省略,或者在地址族為 socket.bind(address) #將socket綁定到地址(常用于服務端) address地址的格式取決于地址族, 在AF_INET下,以元組(host,port)的形式表示地址。 socket.listen([backlog]) #啟用服務器以接受連接(常用于服務端)。 backlog >=0,指定系統(tǒng)在拒絕新連接之前將允許的未接受連接的數(shù)量。如果未指定,則選擇默認的合理值。 socket.accept() #接收一個連接.該socket 必須要綁定一個地址和監(jiān)聽連接.返回值是一對 conn是socket對象,可以在該連接上發(fā)送和接收數(shù)據(jù),address是連接另一端的地址。 socket.recv(bufsize[, flags]) #從socket接收數(shù)據(jù),返回值是一個代表所收到的數(shù)據(jù)的字節(jié)對象。 一次性接收的最大數(shù)據(jù)量由bufsize指定, 參數(shù)flags通常忽略。 socket.send(data[, flags]) #將數(shù)據(jù)發(fā)送到socket。 python3中只能發(fā)送bytes類型的數(shù)據(jù)。 socket.connect(address) #連接到遠程socket(常用于客戶端) 如果連接被信號中斷,則該方法等待直到連接完成,或者如果信號處理程序沒有引發(fā)異常并且套接字正在阻塞或者已經阻塞,則在超時時引入 socket.close() #關閉socket 注:被調用后,連接斷開,socket不能在發(fā)送數(shù)據(jù),連接另一端也將不在接收數(shù)據(jù)。 |
|
|
來自: 二樓202 > 《python學習》