我试图使用带有套接字的python来模拟令牌环,但是遇到了一个问题
主程序
node1 = node.node(8081,8082,token)
node2 = node.node(8082,8083,emptyFrame)
node3 = node.node(8083,8084,emptyFrame)
node4 = node.node(8084,8081,emptyFrame)
node1.firstrun()
node1.start()
node2.start()
node3.start()
node4.start()
节点
^{pr2}$在代码中,我创建了4个节点,为它们提供了不同的端口,其中一个节点提供了一条消息。我让这个第一个端口向下一个节点发送一条消息,所有这些节点都运行main函数。在main函数中,我等待消息并执行while循环。打印所有4个节点的运行,但接收到的没有。因此,我不明白为什么节点从不接收第一个令牌。我的程序只是无限等待。 为了清晰起见,我不应该删除过多的代码
您应该首先分派所有线程,否则就没有套接字侦听。 时间。睡觉()是一种糟糕的编码方式,当涉及到线程时,不能依赖于定时函数。在
在一个点上分派你的线程。在
{t{t是你的发送消息。在
您可以将顺序更改为:
然后您将看到“已接收”被打印出来。在
相关问题 更多 >
编程相关推荐