python 在mac 搭建socket 服务器

参考 http://www.jianshu.com/p/39a68332e19f


from twisted.internet.protocol import Protocol, Factory
from twisted.internet import reactor


class IphoneChat(Protocol):
    def connectionMade(self):
        # self.transport.write("""connected""")
        self.factory.clients.append(self)
        print ("clients are ", self.factory.clients)
    
    def connectionLost(self, reason):
        self.factory.clients.remove(self)
    
    def dataReceived(self, data):
        # print "data is ", data
        a = data.split(':')
        if len(a) > 1:
            command = a[0]
            content = a[1]
            
            msg = ""
            if command == "iam":
                self.name = content
                msg = self.name + " has joined"
                
            elif command == "msg":
                msg = self.name + ": " + content
            
            print (msg)
                        
            for c in self.factory.clients:
                c.message(msg)
                
    def message(self, message):
        self.transport.write(message + '\n')


factory = Factory()
factory.protocol = IphoneChat
factory.clients = []

reactor.listenTCP(12345, factory)
print ("Iphone Chat server started")
reactor.run()


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 北京时间10月2日,据《圣何塞水星新闻》报道,昨天勇士与掘金的季前赛开始之前,4届最佳防守球员本-华莱士把上赛季的...
    coco9981阅读 638评论 0 1
  • 一位善良的人走了,尽管她没有什么文化,没有什么权力,也没有什么财富。在人的一生中,没有波澜起伏引人睹目的生活...
    扶民阅读 264评论 1 2
  • 我太溺爱儿子,三伏天以热制热,不能惯着他喝冰就冰,我真的是塌脑啊!一点用也没有,直接把他害了!明知他总流鼻水寒气重...
    吴若阅读 212评论 0 0
  • OCR即光学字符识别技术,身份证号、银行卡号识别就是它在项目中的应用。在GitHub上几个排名比较靠前的ios库中...
    一张小A阅读 4,149评论 3 7

友情链接更多精彩内容