나는 프로젝트를 위해 꽤 오랜 시간 동안 golang을 사용하기 시작했다. 내 프로젝트에서 나는 TCP 클라이언트에 응답하는 tcp 서버를 구현해야한다. 서버는 클라이언트에 많은 메시지를 보내야합니다. 문제는 서버가 클라이언트 연결에 메시지를 쓸 때 클라이언트가 버퍼에서 해당 메시지를 읽은 다음 다른 메시지를 보낼 때까지 기다려야한다는 것입니다 (서버가 클라이언트가 reader.ReadString('\n')
메서드를 호출 할 때까지 기다려야 함). 내 서버 코드에서클라이언트가 tcp 버퍼에서 읽는 것을 찾는 방법
내가 쓴 :
for {
data := <-client.outgoing
client.writer.WriteString(data + "\n")
client.writer.Flush()
}
있지만 서버는 클라이언트에서 ReadString을 기다리지 않고 클라이언트에 모든 메시지를 전송합니다.
클라이언트가 메시지를 읽고 다른 메시지를 보낼 때까지 서버를 대기 상태로 만드는 방법은 무엇입니까?
수 없습니다. 그것은 TCP가 작동하는 방식이 아닙니다. – JimB
클라이언트 tcp 무료 버퍼 크기를 얻을 수있는 방법은 무엇입니까 ?? – Alireza
나는 당신이 잘못된 문제를 풀려고 노력하고 있다고 생각합니다. 뒤로 물러나서 달성하려는 내용 (예 : 상위 수준보기)을 설명 할 수 있습니까? – cnicutar