【问题标题】:Server in gevent and other greenlets in the same appgevent中的服务器和同一应用程序中的其他greenlets
【发布时间】:2018-05-28 21:36:13
【问题描述】:

我正在寻找如何在一个程序中在 gevent 和其他 greenlets 中运行服务器。所以我想拥有服务器(多个连接)和一两个其他greenlets。这可能吗?如果是,那么如何?

最好的问候, 马特。

【问题讨论】:

    标签: python python-3.x tcp gevent greenlets


    【解决方案1】:
    from geventwebsocket import WebSocketServer, WebSocketApplication, Resource
    import gevent
    
    class EchoApplication(WebSocketApplication):
        def on_open(self):
            print ("Connection opened")
    
        def on_message(self, message):
            self.ws.send(message)
    
        def on_close(self, reason):
            print (reason)
    
    def _test():
        while True:
            gevent.sleep(1)
            print ('other greenlet')
    
    gevent.spawn(_test)
    
    WebSocketServer(
    ('', 9007),
    Resource({'/': EchoApplication})
    ).serve_forever()
    

    此代码正在为 ws 服务器提供服务并打印“其他 greenlet”文本 :)

    【讨论】:

      猜你喜欢
      • 2013-05-06
      • 2013-08-10
      • 2014-02-01
      • 2016-08-24
      • 1970-01-01
      • 2020-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多