TCP 多執行緒 (python)

2021-09-12 07:47:04 字數 1369 閱讀 1826

#__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 true:

data = s_client.recv(1024).decode('utf-8') #接收客戶端資料

print('收到',addr,'資訊為',data)

s_client.sendall(data.encode('utf-8'))

print('傳送成功')

if data == '再見':

s_client.close()

print('該子程序已關閉')

break

#例項化

s = socket.socket(socket.af_inet,socket.sock_stream)

#繫結埠

s.bind(('localhost',8000))

#監聽s.listen(10)

print('伺服器上線')

while true:

s_client,addr =s.accept() #會話阻塞

#建立子執行緒(執行與客戶端的讀寫互動)

sc_client = threading.thread(target=c_thread,args=(s_client,addr))

#啟動子執行緒

sc_client.start()

#__author:   han-zhang

#date: 2018/12/23 10:38

#file: client.py

#ide: pycharm

import socket

#例項化客戶端物件

s = socket.socket(socket.af_inet,socket.sock_stream)

#連線s.connect(("localhost",8000))

while true:

words =input("客戶端說:").encode("utf-8")

#說話並序列化

s.sendall(words) #傳送資料

data =s.recv(1024).decode('utf-8')

print("接受到的資料為:",data)

if data == 'data':

s.close()

break

TCP多執行緒聊天

1 from socket import 2from threading import thread 3 sockets 4def main 5 建立server socket套接字物件 6 server socket socket af inet,sock stream 7 繫結埠 8 serve...

python多執行緒 python多執行緒

通常來說,多程序適用於計算密集型任務,多執行緒適用於io密集型任務,如網路爬蟲。關於多執行緒和多程序的區別,請參考這個 下面將使用python標準庫的multiprocessing包來嘗試多執行緒的操作,在python中呼叫多執行緒要使用multiprocessing.dummy,如果是多程序則去掉...

tcp 多執行緒聊天器

from socket import import threading from time import sleep def main sever 建立套接字 tcp socket socket af inet,sock stream 繫結本地資訊 tcp socket.bind 8081 監聽 t...