2013-10-23 5 views
2

메시지가 클라이언트에 도착했는지 확인하는 가장 좋은 방법은 무엇입니까? BufferedWriter을 사용하여 메시지를 보내고 메시지를 보냅니다. 나는 클라이언트에서 응답을 사용하여 서버에 읽기,하지만 난 서버에서 메시지를 보내려면이 코드를 사용하고서버에서 클라이언트에 도착한 패킷을 확인하는 방법은 무엇입니까?

Socket socket = MainServer.map_socket.get(person); 
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())); 
bw.write(msg_date + " " + mittente + " " + testo); 
bw.newLine(); 
bw.flush(); 

내가 빨리 뭔가를하고자 할 수있다. 그것은 키를 사용하여 맵에서 소켓을 검색합니다. 클라이언트가 연결을 닫고 Bufferedwriter이 메시지를 보내면 (그리고 분명히 클라이언트에 도착하지 않음) 문제가 있습니다.

+0

메시지를 보내시겠습니까? (TCP 소켓 등) – Pietu1998

+0

귀하의 질문은 매우 불분명합니다. 더 많은 컨텍스트를 제공하고 이야기하는 코드를 표시해야합니다. 좋은 질문을 쓰는 방법에 대한 팁은 [FAQ] 및 [Ask]를 참조하십시오. –

답변

1

서버가 클라이언트에게받은 내용을 알 수있는 유일한 방법은 클라이언트가 서버에 무언가를 받았음을 알리는 것입니다. 이 확인 메커니즘은 응용 프로그램 프로토콜의 일부 여야합니다.

+0

다른 방법이 없습니까? –

+1

다른 답변을 기다릴 수는 있지만 일반적으로 없습니다. 서버가 클라이언트가 메시지를 받았음을 확인해야하는 경우 응용 프로그램 프로토콜에 무언가를 구축해야합니다. – Dev

+0

TCP라고 가정하면 다른 대답은 없습니다. 유일한 방법입니다. –