問題タブ [mio]

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.

0 投票する
0 に答える
828 参照

rust - タイムアウトでmio TcpStreamから読み取る方法は?

ミオコを使っています。mio::net::tcp::TcpStreamは を実装していないため、複数のスレッド/コルーチン間で a をClone共有するTcpStreamことはできないようです (または、可能であれば方法がわかりません。私は Rust を初めて使用します)。したがって、単一の への同時読み取り/書き込みTcpStreamの場合、単一のコルーチンを使用して読み取りと書き込みの両方を行う必要があると想定しました。

受信データの頻度が低い場合に読み取りが無期限にブロックされるのを避けるために、 から読み取るときにタイムアウトを使用する必要があるようTcpStreamです。std::net::TcpStreamこれを達成するために持ってset_read_timeoutいますが、に相当するものを見つけることができませんmio::net::tcp::TcpStream。これについてどうすればいいですか?TcpStreamまたは、タイムアウトの必要性を回避して、複数のコルーチン間でmio を共有する方法はありますか?

0 投票する
1 に答える
203 参照

rust - ハッシュマップフィールドにハンドラーへの参照を保存する方法

私は Rust を学んでおり、websocket サーバーを作成しようとしています。ロジックは次のとおりです。WSConnectionFactory は、着信メッセージを処理し、任意のルールに従って他のクライアントに送信する WSHandler を作成します。問題は、そのような動作を実装する方法がわからないことです。

制限: Factory および Handler トレイトのシグネチャは、 ws-rsライブラリによって提供されるため、変更できません。

質問: RefCell/Cell を使用してこれを実装するにはどうすればよいですか?

0 投票する
1 に答える
86 参照

rust - mioに複数のタイムアウトを登録することはできますか?

mio で TCP サーバーを作成し、複数のタイムアウトを登録しましたが、最後に登録されたタイムアウトのみが発生します。タイムアウトを結合するにはラッパーが必要ですか、それとも mio v0.5 で複数のタイムアウトを登録する他の方法はありますか?