目前,我正在使用WAMP原型,我很好奇这样的事情是否可行,因为我无法使其正常工作:

1,用C#编写WAMP路由器(WampSharp):

const string location = "ws://127.0.0.1:9999/wsdemo";

try
{
    using (IWampHost host = new DefaultWampHost(location))
    {
        IWampHostedRealm realm = host.RealmContainer.GetRealmByName("realm1");
        host.Open();
        Console.WriteLine("Host is running on : " + location);
    }
}
catch(Exception exc)
{
    Console.WriteLine("Error : " + exc.ToString());
}

2.具有用python编写的组件:

import random
from twisted.internet.defer import inlineCallbacks
from autobahn.twisted.util import sleep
from autobahn.twisted.wamp import ApplicationSession, ApplicationRunner

class Component(ApplicationSession):
    """
    An application component that publishes events with no payload
    and with complex payload every second.
    """

    @inlineCallbacks
    def onJoin(self, details):
        print("session attached")

        counter = 0
        while True:
            num = random.randint(0, 100)
            print("publishing : com.myapp.topic1", num)
            self.publish(u'com.myapp.topic1', num)
            counter += 1
            yield sleep(1)


if __name__ == '__main__':
    runner = ApplicationRunner(url=u"ws://127.0.0.1:9999/wsdemo", realm=u"realm1")
    runner.run(Component)

当我运行python脚本时,出现错误:

2017-02-20T19:49:46+0100 Main loop terminated.
2017-02-20T19:49:46+0100 Traceback (most recent call last):
2017-02-20T19:49:46+0100   File "C:\Program Files (x86)\JetBrains\PyCharm Educational Edition 1.0.1\helpers\pydev\pydevd.py", line 2199, in <module>
2017-02-20T19:49:46+0100     globals = debugger.run(setup['file'], None, None)
2017-02-20T19:49:46+0100   File "C:\Program Files (x86)\JetBrains\PyCharm Educational Edition 1.0.1\helpers\pydev\pydevd.py", line 1638, in run
2017-02-20T19:49:46+0100     pydev_imports.execfile(file, globals, locals)  # execute the script
2017-02-20T19:49:46+0100   File "D:/Programming/Astronomy/Dev/ZenithPlatform/backbone/local/tests/wamp.py", line 41, in <module>
2017-02-20T19:49:46+0100     runner.run(Component)
2017-02-20T19:49:46+0100   File "C:\Python27\lib\site-packages\autobahn\twisted\wamp.py", line 312, in run
2017-02-20T19:49:46+0100     raise connect_error.exception
2017-02-20T19:49:46+0100 twisted.internet.error.ConnectionRefusedError: Connection was refused by other side: 10061: No connection could be made because the target machine actively refused it..

按照http://autobahn.ws/python/wamp/programming.html#running-a-wamp-router

我们创建的组件尝试连接到本地运行的WAMP路由器,该路由器接受端口8080和域realm1上的连接。

我们建议的方法是将Crossbar.io用作WAMP路由器。 除了Crossbar.io外,还有其他WAMP路由器。

这样的事情可以实现吗?

谢谢,
西瓦

===============>>#1 票数:2 已采纳

您的using语句会在程序结束之前处理路由器。

只需添加一个Console.ReadLine(); 在Console.WriteLine()语句之后的使用范围内找到该语句。 那应该工作。

  ask by Civa translate from so

未解决问题?本站智能推荐:

1回复

如何使用WampSharp客户端ping WebSocket服务器?

我已经使用Wamp WS在python中创建了WebSocket服务器。 我使用以下代码将包含WampSharp客户端的DotNet应用程序与上述WebSocket服务器连接: 现在,我需要从客户端ping我的服务器。 当我看一下用Python创建的Wamp WS客户端时,它包含se
1回复

rpc中的wampsharp会话变量

我在服务器端用wampsharp用c#编写了一个websocket服务,我想知道是否有办法存储/检索会话的相关变量,或者如何知道调用者的会话ID。 提前致谢!
1回复

WampSharp客户端中的pong消息处理程序

我有一个WampSharp客户端,每1分钟成功ping一次我在python中创建的Wamp WS服务器。 我收到ping时,从服务器向客户端发送一条pong消息。 我想知道是否有任何处理程序将处理在WampSharp客户端中接收pong消息,以便我可以在客户端执行某些任务? 如
2回复

高速公路websocket

我正在评估和构建一个带有autobahn websocket的简单websocket服务器 有没有人使用子类WrappingWebSocketServerProtocol ,是否有使用此实现的任何示例? 与WebSocketServerProtocol相比有什么好处以及要覆盖/实现的子方
2回复

如何在高速公路中设置组件角色

我正在使用交叉开关0.11.1,并且我想让高速公路组件使用特定的角色。 当我向组件添加“角色”属性时,如下所示: 运行crossbar start时出现此错误
1回复

如何从高速公路python脚本中删除此错误?

我在下面的链接中关注有关高速公路python的教程; https://github.com/tavendo/AutobahnPython/blob/master/examples/twisted/wamp/app/calculator/calculator.py 导致错误的代码如下;
1回复

Redis操作阻止高速公路Web套接字服务器请求

我正在根据我从服务器客户端收到的消息,使用redis为我的Web套接字服务器保存/更新/删除数据(使用高速公路-基于扭曲的Web套接字实现实现)。 对于Redis操作,我使用redis-py软件包。 当有更多并发客户端连接到我的服务器时,我可以看到请求以同步方式服务。 我发现redis操作
4回复

使用tac文件使用twistd运行时的高速公路websocket问题

我有一个使用autobahn WebSocket框架使用twisted实现的WebSocket服务器。 当程序使用python运行时,WebSocket服务器运行正常。 但是,如果我通过创建tac文件作为扭曲服务使用twistd服务器运行程序运行它,我在服务器中得到以下错误,而任何客户端尝试
1回复

如何在android高速公路websocket中增加帧有效载荷大小

我正在使用android autobahn websocket在android和python龙卷风套接字服务器之间建立连接。 以下是在android中使用的高速公路Websocket代码。 public void start(){ 所有消息都以public void onTe
1回复

Python UnitTest-Websocket服务器

今天,我正在为我的应用程序创建一些单元测试:一个websocket客户端。 在现实世界中,ws服务器是家庭网络中的嵌入式PC。 现在,对于我的单元测试,我想创建一个假的ws服务器并将其用于测试客户端。 您能否建议我一些ws-server即插即用功能,可以在我的unittest设置中