소켓 프로그래밍에 관해서는 문언이나 믹스 업을 선택하지 마십시오. TCP 서버에 연결하고 메시지를 쓰고 응답을 처리하려고합니다.TCP 서버가 객체를 처리 할 때까지 소켓에서 읽지 못함
Dim tcpClient As Sockets.TcpClient = New TcpClient()
tcpClient.Connect(hostname, 9080)
Dim networkStream As NetworkStream = tcpClient.GetStream()
If networkStream.CanWrite And networkStream.CanRead Then
Dim sendBytes As [Byte]() = Encoding.ASCII.GetBytes(body)
networkStream.Write(sendBytes, 0, sendBytes.Length)
Dim bytes(tcpClient.ReceiveBufferSize) As Byte
networkStream.Read(bytes, 0, CInt(tcpClient.ReceiveBufferSize))
Dim returndata As String = Encoding.ASCII.GetString(bytes)
End If
나는 서버 로그를보고 내가 디버깅을 중지 할 때 서버가 오직 소켓 에서 읽는 것을 알 수 있습니다 : 나는 다음과 같은 코드를 사용합니다. 그런 다음 메시지를 처리하고 응답을 보냅니다. 클라이언트가 더 이상 청취하지 않아 조금 늦었습니다.
networkStream 개체를 먼저 닫아야합니다. 그러나이 작업을 수행하면 이후의 대응을 처리 할 수 없습니다. 필자가 작성한 서버에 '신호'를 보내야합니까? 다른 모델을 모두 사용해야합니까?
TCP 서버도 코딩 했습니까? 그렇다면 들어오는 연결을 처리하는 코드를 게시 할 수 있습니까? – ristonj
좋은 지적 (따라서 upvote :). TCP 서버 소스에 액세스 할 수 없습니다. –