Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 到ActiveMQ的websocket/stomp连接_C#_Websocket_Activemq_Stomp - Fatal编程技术网

C# 到ActiveMQ的websocket/stomp连接

C# 到ActiveMQ的websocket/stomp连接,c#,websocket,activemq,stomp,C#,Websocket,Activemq,Stomp,我正在尝试通过websockets/stomp功能将网页与ActiveMQ连接起来。我正在使用stomple.js,在google chrome控制台中出现以下错误: 到“ws://localhost:61614/stomp”的WebSocket连接失败:意外响应代码:500 ActiveMQ配置如下所示: <transportConnectors> <transportConnector name="openwire" uri="tcp://0.0.0

我正在尝试通过websockets/stomp功能将网页与ActiveMQ连接起来。我正在使用stomple.js,在google chrome控制台中出现以下错误:

到“ws://localhost:61614/stomp”的WebSocket连接失败:意外响应代码:500

ActiveMQ配置如下所示:

    <transportConnectors>
        <transportConnector name="openwire" uri="tcp://0.0.0.0:61616"/>
    <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?transport.closeAsync=false"/>
    <transportConnector name="websockets" uri="ws://0.0.0.0:61614"/>
    <transportConnector name="stomp+nio" uri="stomp+nio://0.0.0.0:61615?transport.closeAsync=false"/>
    </transportConnectors>
我正在使用的javascript:

<script type="text/javascript">
$(document).on("pageinit", "#myActiveGamesPage", function () {
        function begin() {
            client.begin({});
        }
        function commit() {
            client.commit({});
        }
        function abort() {
            client.abort({});
        }
        function disconnect() {
            client.disconnect({ success: function () { console.log("dis"); }, failure: function () { console.log(42); } });
        }
        function reset() {
        }
        function sendMsg() {
            var message = 'hola mundo';
            client.send({
                body: client.session + ": " + message,
            });
        }
        if(!Stomple){
            console.log("NO STOMPLE");
        }else{
            console.log("STOMPLE");
            Stomple.debug = true;
            var client = Stomple.create_client({
                url: "ws://localhost:61614/stomp",
                destination: "XXXXXXXXXXXXXXX",
                login: "guest",
                passcode: "guest",
                socketOpen: function() {
                    console.log("socket opened");
                },
                socketMessage: function(msg) {
                    console.log("socket msg");
                    console.log(msg);
                },
                socketClose: function(e) {
                    console.log("socket close");
                    console.log(e);
                },
                socketError: function() {
                    console.log("socket error");
                    console.log(client.websocket);
                    return false;
                }
            });
            var msgHandler = {
                fn: function(msg) {
                    alert(msg.body);
                }
            };
            client.subscribe({
                handler: msgHandler.fn,
                thisObj: msgHandler,
                success: function() {//did subscription succeed?
                    console.log("sub ok..");
                },
                failure: function(reason) {//did subscription fail?
                    console.log(reason);
                }
            });
        }
});
我无法检查客户端发送到服务器头的内容,因为它使用的是二进制格式,chrome开发工具的网络选项卡显示为空

我还尝试过禁用windows防火墙,但结果相同

我还没有找到这方面的任何文档,我认为没有必要在服务器中开发任何额外的东西,因为ActiveMQ提供端点并支持协议


请某人详细说明此操作的示例或可能的原因?

当您收到HTTP ok web套接字时,您应该在activemq日志中获得一些信息,然后500错误通常意味着内部服务器错误,ws也不是二进制格式。您的chrome选项卡应该显示这一点,因为它支持web套接字。否则,如果您真的想看到流量,请使用wireshark之类的工具。