簡單的學習下利用socket來建立客戶端和服務端之間的連接并且發送數據
1. 客戶端socketClient.py代碼
import socket s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 建立連接: s.connect(('127.0.0.1', 9999)) # 接收歡迎消息: print(s.recv(1024).decode('utf-8')) for data in [b'Michael', b'Tracy', b'Sarah']: # 發送數據: s.send(data) print(s.recv(1024).decode('utf-8')) s.send(b'exit') s.close() 2. 服務端serverSocket.py代碼
import socket import threading import time # from threading import Thread s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 監聽端口: s.bind(('127.0.0.1', 9999)) s.listen(5) print('Waiting for connection...') def tcplink(sock, addr): print('Accept new connection from %s:%s...' % addr) sock.send(b'Welcome!') while True: data = sock.recv(1024) time.sleep(1) if not data or data.decode('utf-8') == 'exit': break sock.send(('Hello, %s!' % data.decode('utf-8')).encode('utf-8')) sock.close() print('Connection from %s:%s closed.' % addr) while True: # 接受一個新連接: sock, addr = s.accept() # 創建新線程來處理TCP連接: t = threading.Thread(target=tcplink, args=(sock, addr)) t.start() 3.操作過程
開兩個控制臺窗口,先運行服務端 python3 serverSocket.py
然后運行客戶端 python3 socketClient.py
socket連接截圖如下

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答