您好,登錄后才能下訂單哦!
這篇文章主要講解了Python3 socket即時通訊腳本的實現方法,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。
Python 提供了兩個級別訪問的網絡服務:
低級別的網絡服務支持基本的 Socket,它提供了標準的 BSD Sockets API,可以訪問底層操作系統Socket接口的全部方法。
高級別的網絡服務模塊 SocketServer, 它提供了服務器中心類,可以簡化網絡服務器的開發。
------------------------------------------------服務端代碼--------------------------------------
__author__ = "托尼老師" """ 即時通訊原理 @@@ 服務端代碼 """ from socket import * import threading ip = '0.0.0.0' port =8888 # 定義 socket 參數 Server = socket(AF_INET,SOCK_STREAM) Server.bind((ip,port)) Server.listen() print("[*] SocketServer 正在監聽...") # 接受函數 def recvs(): while 1: print(' [*] 客戶端說: %s '% client.recv(1024).decode('utf-8')) #發送函數 def sends(): while 1: say = bytes(input(' [*] 我說: ') , encoding='utf-8') client.send(say) # 堵塞接受請求 client,client_ip = Server.accept() print(client_ip[0] +':'+str(client_ip[1])+' 連接成功!' ) # 創建接受線程 receive = threading.Thread(target =recvs ,args=() ) receive.start() # 創建發送線程 send = threading.Thread(target =sends ,args=() ) send.start()
------------------------------------------------客戶端代碼--------------------------------------
__author__ = "托尼老師" """ 即時通訊原理 @@@ 客戶端代碼 """ from socket import * import threading ip,port ='127.0.0.1',8888 Client = socket(AF_INET,SOCK_STREAM) Client.connect((ip,port)) def sends() -> '發送函數': while 1: say = bytes(input("[*]我說: "),encoding='utf-8') Client.send(say) def recvs() -> '接受函數': while 1: print('[*] 服務端說: %s ' % Client.recv(1024).decode('utf-8')) receive = threading.Thread(target =recvs ,args=() ) receive.start() # 創建發送線程 send = threading.Thread(target =sends ,args=() ) send.start()
先執行 服務端代碼,再執行客戶端代碼,可以實現基本通訊功能
看完上述內容,是不是對Python3 socket即時通訊腳本的實現方法有進一步的了解,如果還想學習更多內容,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。