有C#编写的winform程式,程式包含8个线程同时与PLC通讯,在所有安装vs的电脑上(已经测试了5台电脑)运行ok,在没有安装VS的电脑上运行两分钟后通讯经常连接失败(modbusTCP通讯),前两分钟通讯全部正常,后来把线程改为4个,所有电脑运行全部ok,但是我需要8个线程同时运行,请问高手如何解决?谢谢问题补充,排除了系统和电脑的可能性,我用同一台电脑测试过,安装VS后运行正常,卸载VS后上述问题同样出现。

解决方案 »

  1.   

    VS里包含部分.net补丁,比如安装.net2.0后,如果安装VS2008/2010,就会自动将.net2.0SP2打上
      

  2.   

    为何不装VS,四个线程是可以运行的,当加到5个线程的时候就会出现SOCKET频繁连接失败现象,而且后来我装上了所有的.NET平台,包含2.0sp2,3.0sp2,3.5sp1,4.0,还有VC运行库都装上了,问题依旧存在
      

  3.   

    此外,编译成Release版比Debug版要好些
      

  4.   

    记住将程序中的Debug代码屏蔽,比如:Debug.Write()之类的方法要屏蔽
      

  5.   

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Data.SqlClient;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Collections;
    using System.Threading;
    using System.IO;我用的Release生成的,没有使用debug代码,我现在怀疑是因为装上VS后,把系统补丁打上了,昨晚测试了四个线程的,没有问题,连续运行了15个小时了