0

https://github.com/adamvr/MQTT.jsのサーバーに何か問題がありますか? 私はうまく来るように見えclient.idます。それ以外はすべて未定義として入ります。3.1 ユーザー/パスを使用して別のブローカーで MQTT クライアントの情報を確認したので、問題がないことがわかりました。

    clients = { }

    server = mqtt.createServer (client) =>
      console.log 'Broker:mqtt:createServer'

      # Catch when client connects
      client.on 'connect', (packet) =>
        console.log 'Broker:connect'

        client.connack
          returnCode: 0

        client.id = packet.client

        console.log 'version: ' + client.versionNum # undefined
        console.log 'client: ' + client.id # COMES THROUGH FINE!
        console.log 'username: ' + client.username # undefined
        console.log 'password: ' + client.password # udefined

        clients[client.id] = client

        console.log 'clients: ' + JSON.stringify clients

   ...

    server.listen 1883

また、プロジェクトの下に問題を作成しました: https://github.com/adamvr/MQTT.js/issues/22

4

1 に答える 1

1

イベントで受け取るクライアント オブジェクトにはconnect、探しているパラメーターが含まれていません。client.id正しい値を持つ唯一の理由は、上記の行で設定しているためです。packetイベントで渡される にはプロパティが含まれます。

clients = { }

server = mqtt.createServer (client) =>
  console.log 'Broker:mqtt:createServer'

  # Catch when client connects
  client.on 'connect', (packet) =>
    console.log 'Broker:connect'

    client.connack
      returnCode: 0

    client.id = packet.client

    console.log 'version: ' + packet.versionNum
    console.log 'client: ' + packet.client
    console.log 'username: ' + packet.username
    console.log 'password: ' + packet.password

    clients[client.id] = client

    console.log 'clients: ' + JSON.stringify clients

 ...

server.listen 1883
于 2012-07-29T09:07:07.317 に答える