나는 데이터의 문자열을 검색하여 TcpClient를 사용하고 있습니다. 나는 끊임없이 .Connected 속성을 검사하여 클라이언트가 연결되어 있는지 확인하지만 클라이언트가 연결을 끊어도 여전히 true를 반환합니다. 이 문제를 해결하기 위해 무엇을 사용할 수 있습니까? TcpClient.Connected는 true를 반환하지만 클라이언트가 연결되어 있지 않습니다. 대신 사용할 수있는 것은 무엇입니까? VB.net에서
이
내 현재 코드의 버전을 박탈입니다 :Dim client as TcpClient = Nothing
client = listener.AcceptTcpClient
do while client.connected = true
dim stream as networkStream = client.GetStream()
dim bytes(1024) as byte
dim numCharRead as integer = stream.Read(bytes,0,bytes.length)
dim strRead as string = System.Text.Encoding.ASCII.GetString(bytes,0,i)
loop
클라이언트 연결을 해제하는 경우 I 예외를 슬로우 적어도 GetStream() 호출을 낸 것입니다하지만 난 다른 응용 프로그램을 닫은 그리고 그것은 여전히
감사합니다 ...하지 않습니다.
수정 클라이언트 폴링이 제안되었지만 문제를 해결하지 못했습니다. 클라이언트가없는 경우 'acutally'가능한 연결 단지의 핵심은 내가 연결이 영업을 할 수 있도록 나를 같은 소켓 연결을 통해 데이터를 여러 번받을 수 있도록하기 위해 노력하고 있다는 것입니다 0
를 반환합니다.
, 감사합니다! – SeeCoolGuy
이것은 정말로 오래되었지만 귀하의 답변이 무엇을하고 있는지 모르기 때문에 코드에 주석을 달거나 설명을해야합니다. –