如何使Python客户端和服务器协同工作?

2024-09-30 22:22:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个pythonautobahnwamp服务器(v.0.8.8,app code at http://pastebin.com/DfQvaJYF)可以很好地与Python客户机协作。使用最新的Twisted 13.2。对于服务器和客户端。在

但是,浏览器javascript客户端(来自CDN的autobahn js,app code at http://pastebin.com/1GGaRP5e)类似地来自于autobahn js示例,它订阅了一个主题,但不接收任何消息。任何地方都没有错误。当使用节点.js. 在

通过查看服务器日志,我可以看到实际上没有任何东西被传输-在js web或节点.js客户端连接并订阅。在

WAMP服务器在端口8080上运行,jsweb客户端页面从端口8111提供服务。两者都在同一台主机上。在


Tags: 端口服务器comapphttp客户端客户机节点
1条回答
网友
1楼 · 发布于 2024-09-30 22:22:19

发现了问题。感谢@oberstet的评论(见上文)。虽然只是将客户机领域设置为建议的defaultrealm1不起作用,但这让我找到了解决方案。在

简单明了的答案是,pythonwamp服务器应该始终显式地设置领域。这至少在服务器实现子类的组件时适用wamp.ApplicationSession(高速公路网站上的许多或所有例子)。在

换句话说,在服务器中必须有一个onConnect函数来加入一个领域。没有它

  • 同样构造的Python客户机(不加入领域)也可以工作
  • 没有设置领域的(Python或Javascript)客户端可以工作

一些超出解决方案的猜测:如果可以构建一个Javascript客户机,而不需要设置一个领域(我使用的示例需要显式领域),那么这样的客户机也许也可以工作。也许pythonwamp服务器代码在默认域的设置上有缺陷。或者可能只是默认值被改变了。我不知道。在

相关问题 更多 >