最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python單線程下實(shí)現(xiàn)多個(gè)socket并發(fā)過程詳解

 更新時(shí)間:2019年07月27日 16:39:43   作者:bainianminguo  
這篇文章主要介紹了python單線程下實(shí)現(xiàn)多個(gè)socket并發(fā)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

先看服務(wù)端的代碼

import sys
# import socket
import time
import gevent
from gevent import socket
from gevent import monkey
monkey.patch_all()
#類似于python中的黑魔法,把很多模塊的阻塞的變成非阻塞的,比如socket中的rece和send都變
# 為不阻塞了
 
 
def server(port):
  s = socket.socket()
  s.bind(("127.0.0.1",port))
  s.listen(2000)
  while True:
    cli,add = s.accept()
    gevent.spawn(handle_request,cli)
    #通過gevent的啟動(dòng)一個(gè)協(xié)程,把客戶端的socket對(duì)象傳進(jìn)去
def handle_request(s):
  try:
    while True:
      data = s.recv(1024)
      print("收到的信息:",str(data,encoding="utf-8"))
      s.send(data)
      if not data:
        s.shutdown(socket.SHUT_WR)
        #把和客戶端這個(gè)鏈接銷毀
  except Exception as ex:
    print(ex)
  finally:
    s.close()
 
if __name__ == '__main__':
  server(8000)

在看客戶端的代碼,分別使用多線程和多進(jìn)程實(shí)現(xiàn)

import socket
import gevent
import threading
import multiprocessing
'''
ip_bind = ("127.0.0.1",8000)
c = socket.socket()
c.connect(ip_bind)
while True:
  data = input("客戶端:")
  c.send(bytes(data,encoding="utf-8"))
  data = c.recv(1024)
  print("服務(wù)端:",str(data,encoding="utf-8"))
 
c.close()
'''
import socket
import gevent
ip_bind = ("127.0.0.1",8000)
c = socket.socket()
c.connect(ip_bind)
def f(n):
  while True:
    # c.send(bytes(n,encoding="utf-8"))
    data = str(n)
    c.send(bytes(data,encoding="utf-8"))
    data = c.recv(1024)
    print("server:",str(data,encoding="utf-8"))
  c.close()
x = []
if __name__ == '__main__':
  l = []
  """
  多線程實(shí)現(xiàn)并發(fā)客戶端
    for i in range(500):
     t = threading.Thread(target=f,args=[str(i),])
     t.start()
     l.append(t)
  for t in l:
     t.join()
 
  """
  # 多進(jìn)程實(shí)現(xiàn)并發(fā)客戶端
  for i in range(100):
    p = multiprocessing.Process(target=f,args=[i,])
    p.start()
    l.append(p)
  for p in l:
    p.join()

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解Python匹配多行文本塊的正則表達(dá)式

    詳解Python匹配多行文本塊的正則表達(dá)式

    這篇文章主要介紹了Python?匹配多行文本塊的正則表達(dá)式,該解決方案折衷了已知和未知模式的幾種方法,并解釋了匹配模式的工作原理,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • 在python image 中實(shí)現(xiàn)安裝中文字體

    在python image 中實(shí)現(xiàn)安裝中文字體

    這篇文章主要介紹了在python image 中實(shí)現(xiàn)安裝中文字體,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • python如何使用pywebview打造一個(gè)現(xiàn)代化的可視化GUI界面詳解

    python如何使用pywebview打造一個(gè)現(xiàn)代化的可視化GUI界面詳解

    pywebview是一個(gè)輕量級(jí)的跨平臺(tái)庫,它可以讓你在Python程序中嵌入一個(gè)瀏覽器窗口,下面這篇文章主要給大家介紹了關(guān)于python如何使用pywebview打造一個(gè)現(xiàn)代化的可視化GUI界面的相關(guān)資料,需要的朋友可以參考下
    2024-07-07
  • pandas實(shí)現(xiàn)按照Series分組示例

    pandas實(shí)現(xiàn)按照Series分組示例

    本文主要介紹了pandas按照Series分組示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Python @property及getter setter原理詳解

    Python @property及getter setter原理詳解

    這篇文章主要介紹了Python @property及getter setter原理詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Python無頭爬蟲下載文件的實(shí)現(xiàn)

    Python無頭爬蟲下載文件的實(shí)現(xiàn)

    這篇文章主要介紹了Python無頭爬蟲下載文件的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • Caffe數(shù)據(jù)可視化環(huán)境python接口配置教程示例

    Caffe數(shù)據(jù)可視化環(huán)境python接口配置教程示例

    這篇文章主要為大家介紹了Caffe數(shù)據(jù)可視化環(huán)境python接口配置教程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Python+Pygame實(shí)戰(zhàn)之俄羅斯方塊游戲的實(shí)現(xiàn)

    Python+Pygame實(shí)戰(zhàn)之俄羅斯方塊游戲的實(shí)現(xiàn)

    俄羅斯方塊,作為是一款家喻戶曉的游戲,陪伴70、80甚至90后,度過無憂的兒時(shí)歲月,它上手簡(jiǎn)單能自由組合、拼接技巧也很多。本文就來用Python中的Pygame模塊實(shí)現(xiàn)這一經(jīng)典游戲,需要的可以參考一下
    2022-12-12
  • 淺析Python數(shù)據(jù)處理

    淺析Python數(shù)據(jù)處理

    本篇文章給大家分享了關(guān)于Python數(shù)據(jù)處理的相關(guān)內(nèi)容以及要點(diǎn)解釋,對(duì)此知識(shí)點(diǎn)有興趣的朋友可以參考學(xué)習(xí)下。
    2018-05-05
  • 從np.random.normal()到正態(tài)分布的擬合操作

    從np.random.normal()到正態(tài)分布的擬合操作

    這篇文章主要介紹了從np.random.normal()到正態(tài)分布的擬合操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06

最新評(píng)論

中阳县| 柳江县| 陆川县| 靖安县| 维西| 福鼎市| 专栏| 高邑县| 普陀区| 吴川市| 海晏县| 辉南县| 蓬溪县| 岢岚县| 岳阳县| 兴国县| 淮南市| 新建县| 高雄市| 剑阁县| 邢台市| 七台河市| 瓦房店市| 类乌齐县| 沅江市| 荣成市| 汪清县| 荥阳市| 中超| 黄冈市| 弋阳县| 巴塘县| 罗平县| 酒泉市| 东乌珠穆沁旗| 溧阳市| 辛集市| 临泉县| 日照市| 孟连| 德阳市|