我做个了传输数据的服务器,以我的电脑为服务器,用一条网线把我的电脑跟一台加密机连起来,,两边都分配了IP和端口,然后程序里面也要通过IP和端口连接到加密机,然后传输数据,我想要实现下面这些功能:启动程序的时候通过加密机的IP和端口自动连接到加密机,加个连接状态和加个时钟每隔一段时间判断一下连接状态,如果掉线了,再自动连接。我自己做了一下,启动程序可以自动连接,也可以监控到连接的状态,但是如果我把连接加密机的网线拨了,实际就已经断线了,但是程序里面显示的状态还是已连接,好像连接的状态一直是显示第一次成功连接的状态,就算连接已经断开了,状态也没有更新显示,要怎么实现,他时时判断,如果掉线了,程序里显示的状态也会更改,然后让他重新自动连接呢?
这个是窗体的Load事件
这是时钟事件里面的代码
http://imgsrc.baidu.com/forum/w%3D580%3Bcp%3Dtieba%2C10%2C61%3Bap%3Dc%23%B0%C9%2C90%2C69/sign=d8fbec4d9e3df8dca63d8f99fd2a11fb/203fb80e7bec54e79ee5f8a4b8389b504fc26a7b.jpg

解决方案 »

  1.   

    加密机动态库.clsJmj nn_clsJmj = new 加密机动态库.clsJmj();
    //连接加密机 函数
    nn_clsJmj.ConnectOpen("192.168.1.138", 6000);
    //加密机连接状态函数
    nn_clsJmj.GetConnectState();
      

  2.   

    或者你只是检测网线断没断 程序自己ping下 不就知道了
      

  3.   

    这个网上应该很多,搜tcp通信有关的,Write、Read(建议最好用异步读BeginRead,这样你的主线程不会卡死)。心跳包尽量少就行了,5-6个比特就行,自己随便定义,只要能接收到固定格式的比特数组,就认为是连接着的。