import socket
import threading
def recv_msg(new_socket):
while true:
# 阻塞的接收資料
recv_data = new_socket.recv(1024)
if recv_data:
# 接到的值decode
recv_txt = recv_data.decode('gbk')
print(recv_txt) # 這個便是接到的資料值
else:
# 當沒有資料的時候就跳出迴圈,退出接收狀態
break
# 關閉連線
new_socket.close()
if __name__ == "__main__":
# 開啟socket套接字
tcp_server_socket = socket.socket(socket.af_inet, socket.sock_dgram)
# 設定位址可以重用
tcp_server_socket.setsockopt(socket.sol_socket, socket.so_reuseaddr, true)
# 繫結7788埠
tcp_server_socket.bind(("", 7788))
# 主動模式調整為被動模式,監聽連線數最大為128
tcp_server_socket.listen(128)
while true:
# 接收客戶端連線
new_socker, ip_post = tcp_server_socket.accept()
print(ip_post) # 檢視連線過來的客戶端ip和埠
# 開啟執行緒
t1 = threading.thread(target=recv_msg, args=(new_socker,))
#設定執行緒守護
t1.setdaemon(true)
t1.start()
# 將不再收到新的請求
tcp_server_socket.close()
根據學習資料整合** TCP 多執行緒 (python)
author han zhang date 2018 12 23 10 21 file server.py ide pycharm import socket,threading def c thread s client,addr print addr,成功連線 列印連線者位址資訊 while t...
基於TCP的Socket通訊 多執行緒
中引用的頭函式 include include include pragma comment lib,ws2 32.lib 伺服器端 1.初始化socket環境,建立套接字 wsadata wsadata word wversionrequested makeword 2,2 將兩個byte型合成乙...
基於Linux多執行緒的併發TCP服務
經過兩天的學習,終於做出來可以向指定客戶端傳送資料的tcp服務,寫本次博文的目的有二,一是將學習成果分享給正在學習tcp併發服務的同行,二是整理一下筆記,方便日後複習。首先說一下為什麼學習tcp併發服務,6個月前去面試嵌入式軟體工程師的面試題是 用兩個半小時的時間用任意語言編寫乙個可以兩個及兩個以上...