我有以下以太网网络,以便与plc(可编程逻辑控制器)通信。一条以太网电缆从PC连接到以太网交换机,多条电缆从交换机并行连接到plc。每个PLC模块都有不同的IP地址,我想用TCP连接与它们通信。在代码中,我通过提供其IP为每个模块创建TCPClient对象,并在发送数据之前连接到它们。我想为每个模块创建一个单独的线程,每个线程将使用TcpClient.GetStream()将数据发送到其模块。写方法。当GetStream从每个线程调用时(因为只有一条电缆从PC发出),我是否会得到相同的流对象,或者每个线程会有不同的流对象?如果它们是不同的,那么我不需要在线程之间同步,因为Stream对象不会是共享资源。如果是这样的话,我认为。net将在不同的流之间进行同步。写呼叫,因为只有一条电缆发出。这是真的吗?欢迎提供有关该主题的更多信息和链接。
不同的TcpClient对象,因此不同的流。不需要同步。在一条电缆上复用多个TCP连接是内置于操作系统中的TCP/IP驱动程序堆栈的工作。不需要帮忙