大家好,我编的应用程序界面和上位机通过以太网UDP通讯。正常情况下,上位机不停的给我发数据(每次的数据量不变),我收到后再发回给它。
如果上位机先启动它的程序,我的后启动,则我的程序运行正常;如果我的程序先启动,上位机程序后启动,在它启动的瞬间,我的程序就自动关闭了,请问大家这是为什么?谢谢!

解决方案 »

  1.   

     可能你是在什么地方调用了application.Exit()方法,你可以调试下,看怎么运行的。
      

  2.   

    可是我没有特别在程序中写此语句,或类似的退出语句啊!难道此类语句在自动生成的框架中吗?
    另外,我一直怀疑和自己设置的接收缓冲区有关,不知对不对!如果它给我发3个字节的数据,我就建立3个字节的byte数组会出问题吗?
      

  3.   

    上位软件是不是在启动的时候会预先发送一段数据,而你的程序里没有考虑到,而异常退出了?在你的接收函数里Try一下,看看会不会抛出什么异常
      

  4.   

    刚写好的程序运行中意外退出的一种较可能的原因是程序抛出了异常。这种情况可以根据程序退出前运行的状况、条件去分析代码逻辑,大致找到可能抛出异常的代码范围,并将这段代码try{}catch{},设置断点调试,往往就能找到原因。