0

NetDisturb ユーティリティのように機能するスクリプトを Python で開発しようとしています。既製のユーティリティがあるのに、なぜこれを行うのかと尋ねる人もいるかもしれませんが、これを Web ページに統合したいからです。この Web ページを使用して、既に知っている、またはバックエンド スクリプトに存在する特定のインターフェイス セットにアクセスし、最終的にパフォーマンスを低下させるか、単にパケットをブロックすることができます。

少し成功しましたが、接続される2つのインターフェース間にソケット接続を実装したいと思います。ソケット接続を使用して全二重通信を行うことができません。どのインターフェイスがマスターとして機能し、どのインターフェイスがスレーブとして機能するかを判断できません。インターフェイスの 1 つをマスターとして作成すると、listenandacceptステートメントがコードの実行をさらにブロックするためです。

私を助けるSOCK_DGRAM代わりにソケットを使用しますか?SOCK_STREAM

4

1 に答える 1

1

非ブロッキングソケットを使用する必要があります。これは、非ブロッキングソケットを処理 するために使用する方法の説明です(初心者には、完全な記事を本当にお勧めできます。これは良いスタートです)。select代替案は、マルチスレッドアーキテクチャまたはasynchoreです。さらにGUIが必要な場合はpygtk、インターフェイスとglib.io_add_watchソケットの処理をお勧めします。

しかし、一般的には、zeromqのような高レベルのフレームワークをお勧めします。2番目の高レベルの代替手段はTwistedですが、非pythonic JavaのようなAPIがあり、(IMO)は十分に文書化されていません。

于 2012-10-30T07:25:36.763 に答える