0

我可以通过使用简单的请求-回复让 c#(客户端)和 python(服务器)相互交谈。但是,我希望基于 c# asp.net 构建的 Web 应用程序稳定并且需要更多的客户端和服务器,因此我尝试使用带有 python 的 Router-Dealer 代理连接 c# 和 python。

我尝试先运行代理 python 脚本,然后运行 ​​c#(客户端),然后运行 ​​python(服务器)。但是,当我运行 python(服务器)时,它会给我一个“正在使用的地址”错误消息。

我是以错误的顺序运行它们还是代理 python 脚本有问题(如下所示)?

5602 = c#客户端

5603 = 蟒蛇服务器

def main():

context = zmq.Context()

# Socket facing clients
frontend = context.socket(zmq.ROUTER)
frontend.bind("tcp://*:5602")

# Socket facing services
backend  = context.socket(zmq.DEALER)
backend.bind("tcp://*:5603")

zmq.proxy(frontend, backend)

# We never get here…
frontend.close()
backend.close()
context.term()

if __name__ == "__main__":
main()
4

1 回答 1

0

我假设您的服务器使用绑定,因此代理应该connect对它们而不是也使用bind.

注意:在 zeromq 中,应用程序启动的顺序无关紧要,因此您可以告诉您的代理到connect一个尚不存在的服务器,当服务器启动时,将建立连接。

于 2016-08-17T19:41:47.680 回答