通过单根以太网电缆流多线程

时间:2011-07-29 12:47:40

标签: .net multithreading stream

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

1 个答案:

答案 0 :(得分:1)

不同的TcpClient对象,因此不同的流。不需要同步。在一条电缆上复用多个TCP连接是操作系统内置的TCP / IP驱动程序堆栈的工作。无需帮助。