0

クライアントサーバー通信用にVB6コードをcsharp.netに実装しています。通信用のVB6では、Winsockコントロールを使用し、クライアント/リモート接続ステータスが利用可能かどうかを確認していました。C シャープでは、通信に tcplistner クラスとソケット クラスを使用します。しかし、リモート/クライアントのステータスが接続されているかどうかを確認する方法を見つけることができません。

ソケット プログラム、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 が 1 つありますが、VB6 WinSock のようにソケット状態を取得できるものは他にありますか?

4

0 に答える 0