問題タブ [flow-control]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sockets - データが処理できるよりも速く送信された場合、ソケットはどのように動作しますか?
TCP とソケットの詳細なメカニズムはよくわかりません。
1 つのクライアントが TCP 経由でサーバーに接続し、データをサーバーに送信します。送信速度が処理速度よりもはるかに速い場合はどうなりますか? たとえば、クライアントが 1 秒あたり 1 MiB を送信しても、サーバーが 1 秒あたり 1 KiB しか処理できない場合、システム メモリ クラッシュが発生しますか?
ソケット API に受信バッファ サイズの設定があることは知っています。
- バッファ サイズを設定したが、データがフラッディングしている場合はどうすればよいですか?
- 受信バッファ サイズを設定しないとどうなりますか?
javascript - promise で `x = x.then()` は何をしますか?
私は約束に対する斬新なアプローチを持ついくつかのコードを理解しようとしています:
.then
これは、通常の連鎖アプローチとどう違うのですか? 安全に使用できますか?
python - FT232RL でのフロー制御
私はFT232RLチップを持っています。USBからRS232へのプロトコル変換に使用していますが、データを変換してさらに使用する必要があります。
私が使用している「データセット」(モデムのような反対側のデバイス、私の場合はMAX485 IC)を構成できません。私が与えることができるのは、読み取りまたは書き込みの制御信号だけです。そのため、あまり役に立ちません。
私のアプリケーションでは、データを送信しているときにそれを「書き込みモード」に設定できる必要があり、送信が完了したらすぐに、それが生成する応答信号を受信するために「読み取りモード」に設定できる必要があります.
注: 制御信号は単純な HIGH または LOW です。データは数バイトの場合があります。
これを行う 1 つの方法は、RS232 送信バッファーにあるデータの量を読み取ることができるようにすることだと思います。それが「0」になるとすぐに、すべてのデータが送信され、制御ピンを「読み取りモード」に設定できます
それを行う別の方法は、FLOW CONTROLを使用することです
わかりやすくするために、問題を説明する前に、フロー制御の理解を説明したいと思います。
(1) データを Python 経由で USB 経由で ftdi に送信します
(2) ftdi は DTR ラインに HIGH を書き込む必要があります。
(3) DSR ラインで HIGH を受信すると、送信を開始する必要があります (これは、rts/cts フロー制御設定が無効になっていることを前提としています)
(4) 送信が完了すると、送信の終了を示す DTR ラインに LOW を書き込む必要があります。
問題は、期待どおりに DTR ラインをオンまたはオフにできないことです STEP (2) は起こりません
私も次のことを試しました:
これはまだ私の完全な問題を解決していません。
ご意見をお聞かせください
編集: 私が使用している FT232RL は nex-robotics によるブレークアウト ボード上にあり、アクセスできるピンは次のとおりであることに言及する必要があります: 3.3V、5V、CD、RXD、TXD、DTR、GND、DSR、RTS、 CTS と RI、そしてもちろんラップトップに接続するための USB ポート
EDIT2: Mprog 3.5 または同様のソフトウェアを使用して、やりたいことをサポートできる EEPROM をフラッシュできますか? はいの場合、どのように?