1

わかりました、これは質問ではありません。私が見たすべての wokkel と twisted の例は、JID で生成されたリソースを適切に観察していません。

wokkel/twisted を使用して構築された Google トーク クライアントは、応答に完全な JID を設定しないため、通常は壊れます。その結果、次のような (非常に隠れた、低レベルの) エラーが発生します。

<message to="example@gmail.com" from="example2@synthasite.com/Example2C2F32A1" type="error"><body>echo: None</body><error code="400" type="modify"><bad-request xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/><text xmlns="urn:ietf:params:xml:ns:xmpp-stanzas">If set, the 'from' attribute must be set to the user's full JID.</text></error></message>

完全なサーバー発行の jid は、プロトコル ハンドラで self.parent.authenticator.jid.full() から取得できます。

そのため、メッセージを送信するときは、必ず from フィールドで完全な jid を使用してください。そうしないと、一部のサーバーがあなたを気に入らず、髪の毛をすべて抜いて泣いてしまいます。

4

2 に答える 2

5

この特定のケースでは、非質問に対するより良い答えは、送信元アドレスをまったく設定しないことです。すべてのサーバーが喜んで空白を埋めてくれるので、クライアントが持っている JID を把握する手間が省けます。

于 2010-04-07T07:23:04.567 に答える