欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python基于twisted框架編寫(xiě)簡(jiǎn)單聊天室

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

本文實(shí)例為大家分享了使用python的twisted框架編寫(xiě)一個(gè)簡(jiǎn)單的聊天室具體代碼,供大家參考,具體內(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):    #定義一個(gè)類(lèi),這里繼承的是LineReceiver
 def __init__(self):     #初始化2個(gè)變量
  self.name = ''
  self.state = "game"

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

 def lineReceived(self, data):     #這個(gè)函數(shù)定義了取名 打印歡迎界面,以及發(fā)送信息給連上來(lái)的用戶
  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:     #判斷他是不是一個(gè)用戶 如果不是就傳送消息
     protocol.sendLine(message)   #傳送消息

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

效果圖:

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

相關(guān)文章

  • Python處理文本文件中控制字符的方法

    Python處理文本文件中控制字符的方法

    最近在使用Python的時(shí)候遇到過(guò)文檔中出現(xiàn)控制字符報(bào)錯(cuò)的問(wèn)題。想著總結(jié)一下,方便以后需要或這同樣遇到問(wèn)題的朋友,下面這篇文章主要介紹了Python處理文本文件中控制字符的解決方法,需要的朋友可以參考借鑒。
    2017-02-02
  • Python實(shí)現(xiàn)自動(dòng)生成請(qǐng)假條

    Python實(shí)現(xiàn)自動(dòng)生成請(qǐng)假條

    這篇文章主要為大家詳細(xì)介紹了如何實(shí)現(xiàn)用Python來(lái)批量生成請(qǐng)假條,這回既學(xué)了東西又做了事情,兩不誤!感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-12-12
  • Python實(shí)現(xiàn)功能完整的個(gè)人員管理程序

    Python實(shí)現(xiàn)功能完整的個(gè)人員管理程序

    這篇文章主要介紹了Python實(shí)現(xiàn)功能完整的個(gè)人員管理程序,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2022-12-12
  • Python如何讀取base64圖片數(shù)據(jù)

    Python如何讀取base64圖片數(shù)據(jù)

    在Python中,使用base64模塊可以解碼Base64編碼的圖片數(shù)據(jù),首先需要去除Base64字符串的前綴,然后使用base64.b64decode()函數(shù)進(jìn)行解碼,最后將解碼后的數(shù)據(jù)保存為圖片文件,適用于各種MIME類(lèi)型的Base64編碼
    2024-09-09
  • Python中enumerate()函數(shù)詳細(xì)分析(附多個(gè)Demo)

    Python中enumerate()函數(shù)詳細(xì)分析(附多個(gè)Demo)

    Python的enumerate()函數(shù)是一個(gè)內(nèi)置函數(shù),主要用于在遍歷循環(huán)中獲取每個(gè)元素的索引以及對(duì)應(yīng)的值,這篇文章主要介紹了Python中enumerate()函數(shù)的相關(guān)資料,需要的朋友可以參考下
    2024-10-10
  • Python-嵌套列表list的全面解析

    Python-嵌套列表list的全面解析

    下面小編就為大家?guī)?lái)一篇Python-嵌套列表list的全面解析。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-06-06
  • Python利用多進(jìn)程將大量數(shù)據(jù)放入有限內(nèi)存的教程

    Python利用多進(jìn)程將大量數(shù)據(jù)放入有限內(nèi)存的教程

    這篇文章主要介紹了Python利用多進(jìn)程將大量數(shù)據(jù)放入有限內(nèi)存的教程,使用了multiprocessing和pandas來(lái)加速內(nèi)存中的操作,需要的朋友可以參考下
    2015-04-04
  • Python實(shí)現(xiàn)批量檢測(cè)HTTP服務(wù)的狀態(tài)

    Python實(shí)現(xiàn)批量檢測(cè)HTTP服務(wù)的狀態(tài)

    本文給大家分享的是一個(gè)使用python實(shí)現(xiàn)的批量檢測(cè)web服務(wù)可用性的腳本代碼,主要功能有測(cè)試一組url的可用性(可以包括HTTP狀態(tài)、響應(yīng)時(shí)間等)并統(tǒng)計(jì)出現(xiàn)不可用情況的次數(shù)和頻率等。
    2016-10-10
  • Python性能提升之延遲初始化

    Python性能提升之延遲初始化

    本文給大家分享的是在Python中使用延遲計(jì)算來(lái)提升性能的方法,非常的實(shí)用,有需要的小伙伴可以參考下
    2016-12-12
  • Python獲取二維數(shù)組的行列數(shù)的2種方法

    Python獲取二維數(shù)組的行列數(shù)的2種方法

    這篇文章主要介紹了Python獲取二維數(shù)組的行列數(shù)的2種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02

最新評(píng)論