【发布时间】:2011-10-15 22:37:33
【问题描述】:
我有以下以太网网络以便与 PLC(可编程逻辑控制器)通信。一根以太网电缆从 PC 连接到以太网交换机,多根电缆从交换机并行连接到 PLC。每个 PLC 模块都有不同的 IP 地址,我想使用 TCP 连接与它们通信。
在代码中,我通过提供其 IP 为每个模块创建一个 TCPClient 对象,并在发送数据之前连接到它们。我想为每个模块创建一个单独的线程,每个线程将使用 TcpClient.GetStream().Write 方法将数据发送到其模块。当从每个线程调用 GetStream 时,我会得到相同的 Stream 对象(因为只有一根电缆从 PC 出来)还是每个线程会有不同的 Stream 对象?如果它们不同,那么我不需要在线程之间同步,因为 Stream 对象不会是共享资源。如果是这种情况,我假设 .net 将在不同的 Stream.Write 调用之间进行同步,因为只有一根电缆出来。这是真的?欢迎提供有关该主题的其他信息和链接。
【问题讨论】:
标签: .net multithreading stream