gpt4 book ai didi

Python:扭曲的服务器和值(value)观

转载 作者:太空宇宙 更新时间:2023-11-03 17:59:24 26 4
gpt4 key购买 nike

我想在我的协议(protocol)和工厂中访问相同的值,因此我使用以下代码进行了测试:

import time
from multiprocessing import Process
from twisted.internet import reactor, protocol

class MyServer(protocol.Protocol):
def connectionMade(self):
self.factory.clients.append("client")
print self.factory.clients


class MyServerFactory(protocol.Factory):
def __init__(self):
self.protocol = MyServer
self.clients = []

def printClient(self):
print self.clients

if __name__ == '__main__':
factory = MyServerFactory()
reactor.listenTCP(4433, factory)
processTwisted = Process(target=reactor.run)
processTwisted.start()
time.sleep(10)
factory.printClient()

在 sleep 期间,我将客户端连接到服务器。这是控制台的日志:

['client']
[]

我期望:

['client']
['client']

怎么才能做到呢?

最佳答案

Twisted 和多处理 不能像这样一起工作。此外,列表和多处理不能像这样一起工作。

如果您删除多处理的使用,您将获得您想要的行为。

关于Python:扭曲的服务器和值(value)观,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27981886/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com