国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

python多線程socket編程中將多客戶端接入的方法

來源:懂視網(wǎng) 責(zé)編:小OO 時間:2020-11-27 14:13:30
文檔

python多線程socket編程中將多客戶端接入的方法

Python中實現(xiàn)socket通信的服務(wù)端比較復(fù)雜,而客戶端非常簡單,所以客戶端基本上都是用sockct模塊實現(xiàn),而服務(wù)。端用有很多模塊可以使用,如下:1、客戶端;
推薦度:
導(dǎo)讀Python中實現(xiàn)socket通信的服務(wù)端比較復(fù)雜,而客戶端非常簡單,所以客戶端基本上都是用sockct模塊實現(xiàn),而服務(wù)。端用有很多模塊可以使用,如下:1、客戶端;
這篇文章主要為大家詳細介紹了python多線程socket編程之多客戶端接入,具有一定的參考價值,感興趣的小伙伴們可以參考一下

Python中實現(xiàn)socket通信的服務(wù)端比較復(fù)雜,而客戶端非常簡單,所以客戶端基本上都是用sockct模塊實現(xiàn),而服務(wù)
端用有很多模塊可以使用,如下:

這里寫圖片描述

1、客戶端

#!/usr/bin/env python
#coding:utf-8
'''
file:client.py
date:9/9/17 3:43 PM
author:lockey
email:lockey@123.com
desc:socket編程客戶端,python3.6.2
'''
import socket,sys
HOST = '192.168.1.6'
PORT = 8998
ADDR =(HOST,PORT)
BUFSIZE = 1024

sock = socket.socket()
try:
 sock.connect(ADDR)
 print('have connected with server')

 while True:
 data = input('lockey# ')
 if len(data)>0:
 print('send:',data)
 sock.sendall(data.encode('utf-8')) #不要用send()
 recv_data = sock.recv(BUFSIZE)
 print('receive:',recv_data.decode('utf-8'))
 else:
 sock.close()
 break
except Exception:
 print('error')
 sock.close()
 sys.exit()


2、SocketServer模塊

為了能夠讓多個客戶端同時接入服務(wù)并進行通信,服務(wù)端將使用SocketServer模塊來實現(xiàn),這樣的話用戶不用在子線程結(jié)束后,利用父進程對它進行處理,也不用關(guān)心socket的關(guān)閉,一切都由SocketServer來完成。

#!/usr/bin/env python
#coding:utf-8
'''
file:client.py
date:9/9/17 3:43 PM
author:lockey
email:lockey@123.com
desc:socket編程服務(wù)器端,python3.6.2
'''
from socketserver import BaseRequestHandler,ThreadingTCPServer
import threading

BUF_SIZE=1024

class Handler(BaseRequestHandler):
 def handle(self):
 address,pid = self.client_address
 print('%s connected!'%address)
 while True:
 data = self.request.recv(BUF_SIZE)
 if len(data)>0:
 print('receive=',data.decode('utf-8'))
 cur_thread = threading.current_thread()
 #response = '{}:{}'.format(cur_thread.ident,data)
 self.request.sendall('response'.encode('utf-8'))
 print('send:','response')
 else:
 print('close')
 break

if __name__ == '__main__':
 HOST = '192.168.1.6'
 PORT = 8998
 ADDR = (HOST,PORT)
 server = ThreadingTCPServer(ADDR,Handler) #參數(shù)為監(jiān)聽地址和已建立連接的處理類
 print('listening')
 server.serve_forever() #監(jiān)聽,建立好TCP連接后,為該連接創(chuàng)建新的socket和線程,并由處理類中的handle方法處理
 print(server)

以下測試中我使用另外一臺主機和本機的兩個中斷去連接服務(wù)器,都可以正常連接并且能進行數(shù)據(jù)應(yīng)答交互

這里寫圖片描述

注意:此程序示例運行平臺為rhel7.2.x86_64,python版本為3.6.2,對于windows平臺和非同一python版本的用戶可能缺乏一定的兼容性,如果是其他平臺用戶請自行修正!!

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

python多線程socket編程中將多客戶端接入的方法

Python中實現(xiàn)socket通信的服務(wù)端比較復(fù)雜,而客戶端非常簡單,所以客戶端基本上都是用sockct模塊實現(xiàn),而服務(wù)。端用有很多模塊可以使用,如下:1、客戶端;
推薦度:
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 日韩欧美在线观看 | 久久99精品久久久久久水蜜桃 | 欧美在线二区 | 日韩欧美一区二区三区视频 | 久久99网站 | 91中文| 中文字幕 日韩有码 | 欧美成人高清视频 | 国内一级野外a一级毛片 | 在线一区二区三区 | 久久一级毛片 | 亚洲欧洲视频在线 | 国产aⅴ精品一区二区三区久久 | 日韩中文字幕第一页 | 欧美黄色网页 | 看全色黄大色黄女片爽毛片 | 美女露胸动态无遮挡 | 欧美在线视频二区 | 91精品专区 | 日本免费一级视频 | 欧美一级全黄 | 亚洲视频在线免费看 | 台湾一级毛片永久免费 | 亚洲欧美日韩综合网导航 | 国产伦精品一区二区三区高清 | 日韩欧美亚洲综合一区二区 | 特一级大黄在线观看 | 国产成人黄网址在线视频 | 欧美成人性色生活18黑人 | 国产在线观看一区二区三区 | 亚洲爱爱网站 | 国产精美视频 | 欧美亚洲国产精品 | 国产成人精品综合久久久 | 人人草人人澡 | 久久成人国产精品一区二区 | 国产精品va一级二级三级 | 亚洲精品第一页 | 精品国产电影在线看免费观看 | 欧美高清一区 | 小处雏高清一区二区三区 |