python 學習-- TCP程式設計
直接上程式碼:
服務端:
import socket
import threading,time
s =socket.socket(socket.AF_INET,socket.SOCK_STREAM)
# 繫結ip和埠
s.bind(('127.0.0.1',9999))
# 定義最大連線數
s.listen(5)
print('等待連線...')
# 定義子執行緒處理的方法
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() # 開啟子執行緒
執行結果:
客戶端:
import socket
# 建立socket
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
# socket連線
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'))
# 傳送exit
s.send(b'exit')
# 關閉socket
s.close()
執行結果:
服務端,關閉建立的socket,繼續監聽。。。
執行程式碼圖解:
相關文章
- Linux學習/TCP程式設計學習筆記LinuxTCP程式設計筆記
- Java Tcp協議socket程式設計學習JavaTCP協議程式設計
- Python 程式設計學習Python程式設計
- Python程式設計方法論學習Python程式設計
- Python學習之IO程式設計Python程式設計
- Python學習之網路程式設計Python程式設計
- UNIX網路程式設計學習(16)--使用poll的TCP伺服器程式程式設計TCP伺服器
- 程式設計學習MarkDown學習程式設計
- 好程式設計師大資料學習路線分享TCP和UDP學習筆記程式設計師大資料TCPUDP筆記
- [python3.3]Python非同步Socket程式設計【TCP】Python非同步程式設計TCP
- 程式設計零基礎應當如何學習Python?Python學習程式設計Python
- TCP程式設計(七)TCP程式設計
- Python學習之物件導向程式設計Python物件程式設計
- Python程式設計師學習路線圖Python程式設計師
- python網路-Socket之TCP程式設計(26)PythonTCP程式設計
- 學習Python程式設計哪種線路科學?Python程式設計
- Python學習要寫部落格嗎?Python程式設計Python程式設計
- 使用 Python 學習面對物件的程式設計Python物件程式設計
- Python學習之路——類-物件導向程式設計Python物件程式設計
- python 有必要學習非同步程式設計嗎?Python非同步程式設計
- 【任務】Python語言程式設計.MOOC學習Python程式設計
- python程式設計學習筆記⑦-1函式Python程式設計筆記函式
- Python學習之函數語言程式設計Python函數程式設計
- 學習Python程式設計的19個資源Python程式設計
- 運維人員如何學習python程式設計運維Python程式設計
- 學習Python程式設計的11個資源Python程式設計
- 程式設計如何學習程式設計
- 請學習程式設計程式設計
- 好好學習程式設計程式設計
- Python 程式設計練習Python程式設計
- 為什麼要學Python 程式設計?(附Python學習路線)Python程式設計
- JAVA網路程式設計(2)TCP程式設計Java程式設計TCP
- Java 網路程式設計(TCP程式設計 和 UDP程式設計)Java程式設計TCPUDP
- python中小學生程式設計學習-政策定了,中小學生學習程式設計不得少於36小時,全民程式設計時代來了...Python程式設計
- UNIX網路程式設計學習(15)--使用單程式和select的TCP伺服器程式程式設計TCP伺服器
- 入門程式設計學習,適合學python語言嗎?程式設計Python
- Java程式設計師學習Rust程式設計 - infoworldJava程式設計師Rust
- 學習Python程式設計的最好的幾本書Python程式設計