中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python中怎么用socket()函數

發布時間:2022-04-02 15:29:45 來源:億速云 閱讀:201 作者:iii 欄目:移動開發

這篇文章主要介紹了Python中怎么用socket()函數的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Python中怎么用socket()函數文章都會有所收獲,下面我們一起來看看吧。

什么是 Socket?

Socket又稱"套接字",應用程序通常通過"套接字"向網絡發出請求或者應答網絡請求,使主機間或者一臺計算機上的進程間可以通訊。


socket()函數

Python 中,我們用 socket() 函數來創建套接字,語法格式如下:

socket.socket([family[, type[, proto]]])

參數

  • family: 套接字家族可以是 AF_UNIX 或者 AF_INET

  • type: 套接字類型可以根據是面向連接的還是非連接分為SOCK_STREAMSOCK_DGRAM

  • protocol: 一般不填默認為0.

Socket 對象(內建)方法

函數描述
服務器端套接字
s.bind()綁定地址(host,port)到套接字, 在AF_INET下,以元組(host,port)的形式表示地址。
s.listen()開始TCP監聽。backlog指定在拒絕連接之前,操作系統可以掛起的最大連接數量。該值至少為1,大部分應用程序設為5就可以了。
s.accept()被動接受TCP客戶端連接,(阻塞式)等待連接的到來
客戶端套接字
s.connect()主動初始化TCP服務器連接,。一般address的格式為元組(hostname,port),如果連接出錯,返回socket.error錯誤。
s.connect_ex()connect()函數的擴展版本,出錯時返回出錯碼,而不是拋出異常
公共用途的套接字函數
s.recv()接收TCP數據,數據以字符串形式返回,bufsize指定要接收的最大數據量。flag提供有關消息的其他信息,通常可以忽略。
s.send()發送TCP數據,將string中的數據發送到連接的套接字。返回值是要發送的字節數量,該數量可能小于string的字節大小。
s.sendall()完整發送TCP數據,完整發送TCP數據。將string中的數據發送到連接的套接字,但在返回之前會嘗試發送所有數據。成功返回None,失敗則拋出異常。
s.recvfrom()接收UDP數據,與recv()類似,但返回值是(data,address)。其中data是包含接收數據的字符串,address是發送數據的套接字地址。
s.sendto()發送UDP數據,將數據發送到套接字,address是形式為(ipaddr,port)的元組,指定遠程地址。返回值是發送的字節數。
s.close()關閉套接字
s.getpeername()返回連接套接字的遠程地址。返回值通常是元組(ipaddr,port)。
s.getsockname()返回套接字自己的地址。通常是一個元組(ipaddr,port)
s.setsockopt(level,optname,value)設置給定套接字選項的值。
s.getsockopt(level,optname[.buflen])返回套接字選項的值。
s.settimeout(timeout)設置套接字操作的超時期,timeout是一個浮點數,單位是秒。值為None表示沒有超時期。一般,超時期應該在剛創建套接字時設置,因為它們可能用于連接的操作(如connect())
s.gettimeout()返回當前超時期的值,單位是秒,如果沒有設置超時期,則返回None。
s.fileno()返回套接字的文件描述符。
s.setblocking(flag)如果 flag 為 False,則將套接字設為非阻塞模式,否則將套接字設為阻塞模式(默認值)。非阻塞模式下,如果調用 recv() 沒有發現任何數據,或 send() 調用無法立即發送數據,那么將引起 socket.error 異常。
s.makefile()創建一個與該套接字相關連的文件

關于“Python中怎么用socket()函數”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Python中怎么用socket()函數”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

磐安县| 奉新县| 灵山县| 楚雄市| 周口市| 博客| 金阳县| 万载县| 曲周县| 岑巩县| 五原县| 东乡县| 巫溪县| 海原县| 伊通| 大石桥市| 洛阳市| 门源| 邢台县| 曲阜市| 泸定县| 伊川县| 西和县| 察哈| 邛崃市| 济源市| 沙洋县| 晋江市| 通榆县| 洪泽县| 鹿泉市| 罗江县| 新巴尔虎左旗| 龙井市| 祁连县| 宁津县| 交口县| 盐亭县| 抚顺县| 垦利县| 若尔盖县|