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

python基于twisted框架編寫簡單聊天室

 更新時間:2018年01月02日 11:56:31   作者:PythonTZ  
這篇文章主要為大家詳細(xì)介紹了python基于twisted框架編寫簡單聊天室,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了使用python的twisted框架編寫一個簡單的聊天室具體代碼,供大家參考,具體內(nèi)容如下

下面是基本架構(gòu)

代碼:

# -*- coding:utf-8 -*-
from twisted.internet.protocol import Factory
from twisted.protocols.basic import LineReceiver
from twisted.internet import reactor
user = {}
class ChatReci(LineReceiver):    #定義一個類,這里繼承的是LineReceiver
 def __init__(self):     #初始化2個變量
  self.name = ''
  self.state = "game"

 def connectionMade(self):      #連接協(xié)議,當(dāng)客戶端連接即發(fā)出消息
  self.sendLine("input you name?")

 def lineReceived(self, data):     #這個函數(shù)定義了取名 打印歡迎界面,以及發(fā)送信息給連上來的用戶
  if self.name == '':      #判斷名字是否為空 如果為空就進(jìn)行下面的操作
   self.name = data      #給self.name賦值
   self.sendLine("you welcome, %s!" % (self.name))  #打印歡迎信息
   user[self.name] = self     #賦值給user
   print '%s loging' %data    #打印登錄信息
  else:          #不為空就打印信息
   message = "<%s> %s" % (self.name, data) #定義聊天信息
   for ur,protocol in user.items():   #取他的用戶名
    if protocol != user:     #判斷他是不是一個用戶 如果不是就傳送消息
     protocol.sendLine(message)   #傳送消息

factory = Factory()    #定義工廠
factory.protocol = ChatReci  #綁定我的類
reactor.listenTCP(22222, factory) #綁定端口和工廠
reactor.run()       #啟動

效果圖:

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

相關(guān)文章

  • Python實(shí)現(xiàn)的序列化和反序列化二叉樹算法示例

    Python實(shí)現(xiàn)的序列化和反序列化二叉樹算法示例

    這篇文章主要介紹了Python實(shí)現(xiàn)的序列化和反序列化二叉樹算法,結(jié)合實(shí)例形式分析了Python二叉樹的構(gòu)造、遍歷、序列化、反序列化等相關(guān)操作技巧,需要的朋友可以參考下
    2019-03-03
  • python 讀取yaml文件的兩種方法(在unittest中使用)

    python 讀取yaml文件的兩種方法(在unittest中使用)

    這篇文章主要介紹了python 讀取yaml文件的兩種方法(在unittest中使用),幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-12-12
  • Python從入門到精通之類的使用詳解

    Python從入門到精通之類的使用詳解

    Python是一種功能強(qiáng)大且廣泛使用的編程語言,它支持面向?qū)ο缶幊蹋∣OP),本文將介紹Python中類的使用,包括類的創(chuàng)建、屬性和方法的定義、繼承和多態(tài)等關(guān)鍵技術(shù)點(diǎn),希望對大家有所幫助
    2023-07-07
  • python使用mitmproxy抓取瀏覽器請求的方法

    python使用mitmproxy抓取瀏覽器請求的方法

    今天小編就為大家分享一篇python使用mitmproxy抓取瀏覽器請求的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • Python面向?qū)ο笾惡蛯ο髮傩缘脑鰟h改查操作示例

    Python面向?qū)ο笾惡蛯ο髮傩缘脑鰟h改查操作示例

    這篇文章主要介紹了Python面向?qū)ο笾惡蛯ο髮傩缘脑鰟h改查操作,結(jié)合實(shí)例形式分析了Python面向?qū)ο笙嚓P(guān)的類與對象屬性常見操作技巧,需要的朋友可以參考下
    2018-12-12
  • python字符串大小寫轉(zhuǎn)換的三種方法

    python字符串大小寫轉(zhuǎn)換的三種方法

    本文主要介紹了python字符串大小寫轉(zhuǎn)換的三種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Python機(jī)器學(xué)習(xí)之實(shí)現(xiàn)模型持久化與加載

    Python機(jī)器學(xué)習(xí)之實(shí)現(xiàn)模型持久化與加載

    在實(shí)際的機(jī)器學(xué)習(xí)項目中,我們通常需要將訓(xùn)練好的模型保存到磁盤,本文我們會介紹如何在Python中使用pickle和joblib庫將訓(xùn)練好的模型持久化到磁盤,需要的可以參考一下
    2023-05-05
  • python接口,繼承,重載運(yùn)算符詳解

    python接口,繼承,重載運(yùn)算符詳解

    這篇文章主要給大家介紹了關(guān)于Python接口,繼承,重載運(yùn)算符的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-08-08
  • Python?numpy邏輯運(yùn)算方法舉例介紹

    Python?numpy邏輯運(yùn)算方法舉例介紹

    這篇文章主要介紹了Python?numpy邏輯運(yùn)算方法的相關(guān)資料,NumPy中提供了一系列邏輯運(yùn)算方法,用于執(zhí)行逐元素的邏輯和比較操作,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-10-10
  • 你真的了解Python的random模塊嗎?

    你真的了解Python的random模塊嗎?

    這篇文章主要介紹了Python的random模塊的相關(guān)內(nèi)容,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12

最新評論

汾阳市| 巫溪县| 竹北市| 蓝山县| 津南区| 政和县| 中牟县| 延庆县| 静安区| 花垣县| 灵丘县| 赤水市| 安图县| 荥阳市| 高青县| 衢州市| 抚远县| 繁峙县| 东乡族自治县| 长葛市| 简阳市| 乐亭县| 怀安县| 梨树县| 隆德县| 武功县| 竹溪县| 岑溪市| 永福县| 友谊县| 同德县| 得荣县| 呼玛县| 增城市| 林芝县| 高安市| 竹北市| 德安县| 个旧市| 寿阳县| 巴彦县|