내 응용 프로그램에서 포트로 바인드 된 ServerSocket을 만들었습니다. 이 응용 프로그램을 동일한 네트워크의 연결된 PC에 배포합니다. 이 포트를 사용하여 응용 프로그램이 설치된 PC에 요청을 게시 할 수 있습니다. 이제 수신자는 메시지를 수신 할 수 있지만 응답을 요청한 PC로 다시 보낼 때 입력 스트림은 메시지를 수신하지 않습니다. 그것을 할 수있는 방법이 있습니까? 나는 긴급 TCP 메시지에 대해 아무 것도 모른다. 나는 그것을 가능하게했지만 어떻게 보낼 지 모른다. 내 메시지는 기본적으로 삭제됩니까? 나는 다른 스레드에서 대답을 얻지 못한다.Java SE 소켓 입력 스트림이 응답을받지 않습니다.
답변
통신 상태를 활성 상태로 유지하는 ClientSocket 및 ServerSocket 모두에 루프가 있어야합니다.
그렇지 않으면 클라이언트 소켓과 서버 소켓을 모든 측면 (모든 송신기 및 수신기 장치)에 구현해야합니다. 서버 소켓 A가 메시지를 받으면 응답하기 위해 자신의 장치에있는 보낸 사람의 응용 프로그램에있는 서버 소켓 B에 다시 응답하는 클라이언트 소켓이 있어야합니다.
이렇게하면 동일한 포트를 사용하는 서버 소켓이있는 모든 장치가 서로 메시지를 검색하고 보낼 수 있습니다.
물론 답장을 보내려면 발신자의 IP 주소를 유지해야합니다.
flush
데이터를 보내는 PC의 출력 스트림이 좋습니까?
// Send data here
yourOutputStreamReference.flush();
안녕하세요, 저는 그것을 제외하고 shutdowninputstream 및 shutdownoutputstream을 시도했습니다. 다른 응용 프로그램에 내 요청을 보낼 수 있지만 서버가 응답을 보내면 응답을 얻을 수 없습니다. –
동일한 코드 : 내가 나에게 요청을 보낼 때 .. 서버 쪽에서 클라이언트 쪽에서 응답이 나에게 돌아온다. 장치간에 같은 일이 일어나지 않습니다 ... –
알아 낸 것처럼 모든 응답은 서버 측으로 리다이렉트 된 새로운 요청으로 이루어져야합니다 .. –
- 1. Java 소켓 : 서버 입력 스트림이 클라이언트 출력 스트림에서 읽히지 않습니까?
- 2. Java 소켓 스트림이 예기치 않게 종료됩니다.
- 3. 일반적인 JAVA SE 프로그램에 값 입력
- 4. 자바 소켓 프로그래밍 - 스트림이 막히게
- 5. java (SE)
- 6. cmd의 Java SE 오류
- 7. Java SE 바이너리 충돌
- 8. 스캐너 입력 스트림이 정의되지 않았습니다 ..?
- 9. 요청의 입력 스트림이 소모 됨
- 10. 소켓, BufferedReader.readline() - 스트림이 준비되지 않은 이유는 무엇입니까?
- 11. Java 소켓 OutputStream이 플러시되지 않습니다
- 12. Dalvik to Java SE 통신
- 13. Glassfish에 Java se 클라이언트 연결
- 14. Java SE, OOP, 객체, 클래스
- 15. Java SE 센서 API가 있습니까?
- 16. Java SE 6.0의 큰 그림
- 17. JCE는 Java SE 6의 일부입니까?
- 18. 대기열의 Java 소켓 연결
- 19. Java SE 및 Java EE에 대한 혼동
- 20. 청크 입력 스트림이 예기치 않게 종료했습니다.
- 21. 호출 스트림이 읽기를 지원하지 않습니다.
- 22. HttpWebResponse 출력 스트림이 닫히지 않습니다
- 23. 범위 = 게시 _ 스트림이 작동하지 않습니다.
- 24. RTFMP - 원격 스트림이 표시되지 않습니다.
- 25. Java 소켓 : TCP 체크섬이 잘못되었습니다.
- 26. 안드로이드에서 Restlet은 Java SE/EE로 이식 가능합니까?
- 27. Java 소켓 : 클라이언트에 쓰기가 작동하지 않습니다.
- 28. Java SE 응용 프로그램 수명주기 란 무엇입니까?
- 29. OpenJDK JVM은 Oracle Java SE JVM과 동일합니까?
- 30. 강력한 Java 소켓 프로그래밍
내가하고있는 것을보기 위해 코드 일부를 게시하십시오. – Cratylus