Firefox拡張機能を介してピアツーピア(UDP)通信を確立しようとしています。コマンドラインで動作するPythonプログラムがあります。私はそれを使用してxpcomコンポーネントを構築しました。しかし、驚くべきことに、コマンドラインのpythonプログラムからしかメッセージを受信できませんでした。
私たちは次のことを試みました(すべてlocalhostで動作しています):
送信者としてのFirefoxXPCOMコンポーネント->受信者としてのFirefoxXPCOMコンポーネント -が機能しませんでした
送信者としてのPythonコマンドライン-> 受信者としてのfirefoxxpcomコンポーネント -動作
送信者としてのFirefoxxpcomコンポーネント -> 受信者としてのPythonコマンドライン -が機能しませんでした
送信者としてのPythonコマンドライン->受信者としてのPythonコマンドライン -動作
Wiresharkを使用してパケットを観察したところ、いくつかの違いがありました-
Firefoxxpcomからpythonコマンドラインおよびfirefoxxpcomからfirefoxxpcom(これは機能しませんでした)には、次のようなパケットレコードがあります
によって生成されたそのようなタイプのパケット(非番号としてマークされた送信元ポート)
Winsock(C ++)
XPCOMコンポーネント
C#
...UDP Source port: timbuktu-srv2 Destination port: 30000
pythonコマンドラインからpythonコマンドラインおよびPythonコマンドラインからXPCOM(これは機能しました)には、次のようなパケットレコードがあります
... UDP Source port: 30000 Destination port: 30000
ネットワークについてはよくわかりませんが、マークされたレコードが..Source port: timbuktu-srv2..
宛先に到達できません。
私はPython、C ++(Winsock)、C#を使用してp2p通信を試してきましたが、Pythonでしか成功できませんでした。違いは、Pythonでのそのようなタイプの特定のレコードです。
一部のネットワーキングの達人はその上に懐中電灯を当てることができますか?