私はPLC(プログラマブルロジックコントローラ)と通信するために以下のイーサネットネットワークを持っています。 1つのイーサネットケーブルがPCからイーサネットスイッチに送られ、複数のケーブルがスイッチから並行してPLCに送られます。すべてのPLCモジュールには異なるIPアドレスがあり、TCP接続を使用してそれらと通信したいと思います。
コードでは、各モジュールのTCPClientオブジェクトを作成し、IPを渡してデータを送信する前に接続します。私はモジュールごとに個別のスレッドを作成したいし、各スレッドはTcpClient.GetStream()を使ってそのモジュールにデータを送信します。 GetStreamが各スレッドから呼び出されたとき(同じPCからケーブルが1つしかないため)同じスレッドオブジェクトを取得しようとしていますか、スレッドごとに異なるStreamオブジェクトがありますか?それらが異なる場合、Streamオブジェクトは共有リソースではないため、スレッド間で同期する必要はありません。それが事実ならば、私は、1つのケーブルが外に出ているので、.netは異なるStream.Writeコール間の同期を行うと仮定します。これは本当ですか?テーマに関する追加情報とリンクは大歓迎です。ストリーム1つのイーサネットケーブルでマルチスレッド化
0
A
答えて
1
異なるTcpClientオブジェクト、したがって異なるストリーム。同期は必要ありません。 1つのケーブルを介して複数のTCP接続を多重化することは、オペレーティングシステムに組み込まれているTCP/IPドライバスタックの仕事です。必要はありません。
関連する問題
- 1. iosでのマルチスレッド化
- 2. fedoraでのマルチスレッド化
- 3. VS2010でのマルチスレッド化
- 4. PHPでのマルチスレッド化
- 5. AWSでのマルチスレッド化
- 6. Adaでのマルチスレッド化
- 7. LLVMでのマルチスレッド化
- 8. PHPでのマルチスレッド化
- 9. Oracleでのマルチスレッド化
- 10. 1つのJTextBoxを使用したマルチスレッド
- 11. OpenMPマルチスレッドが1つのスレッドになる
- 12. スプリングブートコントローラのマルチスレッド化
- 13. OpenMPでのループのマルチスレッド化
- 14. CでのAPIのマルチスレッド化
- 15. AndroidのUnityでのマルチスレッド化
- 16. Javaの入力ストリーム "ブロック"とマルチスレッド
- 17. Perl対Javaでのマルチスレッド化
- 18. Pythonでのマルチスレッド化は?
- 19. ループ内でのPythonマルチスレッド化
- 20. Hadoop/Sparkでのマルチスレッド化
- 21. AX 2012でのマルチスレッド化
- 22. C、フィボナッチプログラムでのマルチスレッド化
- 23. Pythonでのマルチスレッド最適化
- 24. PHP 7でのマルチスレッド化
- 25. Whileループでのマルチスレッド化
- 26. Bashスクリプトのマルチスレッド化
- 27. Dataset apiのマルチスレッド化
- 28. .NET 3.5マルチスレッド化
- 29. マルチスレッド化とGDB
- 30. キュー - マルチスレッド化Python