以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]请各位老大帮忙看看  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=53121)

--  作者:jiskin
--  发布时间:2014/6/30 11:59:00
--  [求助]请各位老大帮忙看看
 Try
    Dim Client As System.Net.Sockets.Socket = New System.Net.Sockets.Socket(System.Net.Sockets.AddressFamily.InterNetwork, System.Net.Sockets.SocketType.Stream, System.Net.Sockets.ProtocolType.Tcp)
    Client.Connect("localhost", "7070" )
    Client.Close()
    messagebox.show("已成功连接!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
Catch Ex As Exception
    messagebox.show("!","错误",MessageBoxButtons.OK,MessageBoxIcon.Error)
End Try 

论坛上找了这个代码,但是只能一次性检测,我想监听这个端口 5秒左右,如果断开了 就表示失败

帮忙写写啊 谢谢了

--  作者:Bin
--  发布时间:2014/6/30 12:00:00
--  
每5秒监听一次? 
--  作者:jiskin
--  发布时间:2014/6/30 12:02:00
--  
以下是引用Bin在2014-6-30 12:00:00的发言:
每5秒监听一次? 

 

总共监听5秒 ,如果5秒内 断开了 就失败了

因为我在telnet下测试发现 能连接上 但是5秒后 就断开了 所以要想判断下

 


--  作者:有点甜
--  发布时间:2014/6/30 12:04:00
--  

 建立连接以后,另起一个线程,处理通信,如果断开的话,在那个线程里完成,参考源码

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=28230&replyID=&skin=1

 


--  作者:jiskin
--  发布时间:2014/6/30 12:40:00
--  
以下是引用有点甜在2014-6-30 12:04:00的发言:

 建立连接以后,另起一个线程,处理通信,如果断开的话,在那个线程里完成,参考源码

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=28230&replyID=&skin=1

 

 

甜总,我感觉那个功能对我来说复杂了,我只是要检测有没有成功连接上而已……


--  作者:有点甜
--  发布时间:2014/6/30 15:19:00
--  
以下是引用jiskin在2014-6-30 12:40:00的发言:

 

甜总,我感觉那个功能对我来说复杂了,我只是要检测有没有成功连接上而已……

 

呃,有点绕.....最后代码

 

Try
    Dim client As New System.Net.Sockets.TcpClient()
    Client.Connect("localhost", "7070")
    system.threading.thread.sleep(5000)
    Dim packet As Byte() = New Byte(2) {}
    Client.getstream.Write(packet, 0, packet.Length)   \'往服务器发送登录信息
    Client.Close()
    messagebox.show("已成功连接!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
Catch Ex As Exception
    messagebox.show("!","错误",MessageBoxButtons.OK,MessageBoxIcon.Error)
End Try