2009-10-10 5 views
2

Stream.Flush 메서드를 사용하려고하지만 해당 설명서에 해당 메시지가 표시됩니다. 무슨 뜻이에요?C# VS Express : "이 방법은 향후 사용을 위해 예약되어 있습니다"- 무슨 의미입니까?

편집 : MSDN 스레드에서 해결책을 찾지 못했습니다. 내 문제는 때로는 메시지를 보내고 클라이언트의 연결이 끊어지면 메시지가 나타나지 않는다는 것입니다. 그래서 OnDisconnecing 이벤트에서 스트림이나 소켓을 플러시해야합니다.

답변

5

그들은 문서를 만들기 위해 절반의 프랑스어와 절반의 영어를 사용하는 사람을 고용 했습니까?
농담 거리, 의미 :이 방법은 나중에 사용할 수 있도록 예약되어 있습니다. refereered하는 방법은 "물건"이 일종의 spec을 따르도록 만들어졌습니다. , 그러나 그것은 단지 자리 표시 자이며 나중에 구현 될 것입니다.

3

즉, 사용중인 Stream 구현의 작성자가 Flush 메서드를 구현하지 않았으므로 코드에서 호출 할 필요가 없습니다.

+7

아니요, 그것이 의미하는 바가 아닙니다. 즉, 현재 구현에서는 아무 것도하지 않지만 코드를 구현하고 코드를 호출해야 할 때 코드가 올바르게 작동하기 때문에 코드를 호출해야합니다. 즉, * 플러시를 호출해야하는 경우 *입니다. –

0

NetworkStream을 사용하는 경우 MSDN의 this thread을 방문하십시오.

+0

네트워크 스트림을 사용하고 있습니다. 나는 메시지를 파싱하는 데 문제가 없다. 메시지를 끊기 전에 때때로 메시지를 보내는 문제가있다. Like : SendMessage (text, param) DisconectClient (클라이언트) – Thomas

+0

글쎄, 클라이언트가 메시지를 수신했음을 확인한 다음 연결을 끊을 수 있도록 변경할 수 있습니다. – aviraldg

+0

msg/왔어. 클라이언트에게 비밀번호 시도가 잘못되었다는 사실을 알려주는 것과 같습니다. msg를 보내고 연결을 끊습니다. 즉각적인 호출 연결 해제와 관련이 있습니다. 제거 할 때 모든 메시지가 올바르게 전달됩니다. – Thomas

0

기본적으로 추상 메서드 Stream.Flush()을 구현해야한다는 것을 의미하지만, NetworkStream의 구체적인 구현에서는 아무 것도 수행하지 않습니다. 나는 .NET 프레임 워크가 네트워크를 통해 플러시를 수행하기 위해 OS에 의존한다고 생각한다.

+0

그래서 전화 할 필요가 없습니까? 소켓에 쓰기 때문에 버퍼링이 필요하지 않습니까? – Thomas

+0

여전히 전화해야합니다. .NET 4.0에서 Flush가 구현되고 호출해야한다면 코드는 여전히 예상대로 작동합니다. –

관련 문제