我们正在为 c sharp.net 实现 VB6 代码以进行客户端服务器通信。在VB6中用于通信使用Winsock控件并检查客户端/远程连接状态是否可用。在 C sharp 中,我们使用 tcplistner 类和 socket 类进行通信。但是我们不知道如何检查远程/客户端的状态是否已连接。
套接程序, ASP.Net C#, VS2008
VB6 代码
'checking socket status
if CommForm.Sock(i).State <> sckClosed then
s="Connection opened"
else
s="Connection closed"
end if
Public Function GetSockStatus()
{
Select Case CommForm.Sock(i).State
Case sckClosed
GetSockStatus = "Closed"
Case sckOpen
GetSockStatus = "Open"
Case sckListening
GetSockStatus = "Listening"
Case sckConnectionPending
GetSockStatus = "Connection pending"
Case sckResolvingHost
GetSockStatus = "Resolving host"
Case sckHostResolved
GetSockStatus = "Host resolved"
Case sckConnecting
GetSockStatus = "Connecting"
}
C#代码:
对于代码 CommForm.Sock(i).State <> sckClosed ,我尝试在 ASP.net C#
if(!client.Connected)
客户端是 .net 中的 sockect 对象
但是我在 .net 中找不到任何等效的 CommForm.Sock(i).State 代码,有一个返回 True/False 的 .poll,但是还有其他可以像在 VB6 WinSock 中那样为我们提供套接字状态的代码。