여러 클라이언트에 브로드 캐스트하려는이 코드를 example에 구현하고 있습니다. 직렬화 된 다른 객체를 보내기 위해 소켓을 사용하려고 시도하는 동안 socket (예제에서)이 객체를 통해 객체를 보낼 수 없다는 오류가 발생합니다. 데이터 그램 소켓도 객체를 보내고받을 수 없습니까?데이터 그램 소켓을 통해 개체 보내기 java
0
A
답변
4
일반적으로 아니요. 데이터 그램 패킷은 일반적으로 비교적 작습니다. ObjectOutputStream
에 랩핑 된 ByteArrayOutputStream
으로 객체를 직렬화 한 다음 나중에 바이트 배열을 보내려고 시도 할 수 있습니다. 그러나 너무 빠르게 빠르게 커질 수 있습니다.
같은 Protocol Buffers 아마 당신은 하나의 패킷에서 더 많은 정보를 얻을 수보다 효율적인 직렬화 형식을 사용하지만, 일반적으로는 스트림 대신 단일 패킷에 직렬화 싶어 ... 그리고 데이터 그램 기반 프로토콜에 스트림 기반 프로토콜을 적용하기 시작하자마자, 신뢰성이 있어야 마자 TCP를 합리적으로 빨리 끝내게됩니다.
신뢰할 수있는 제약 조건 - 패킷 손실시 얼마나 심각한지를 포함하여 우리가하려는 일에 대해 자세히 설명해 주시면 더 많은 도움을 드릴 수 있습니다.
1
가장 좋은 방법은 사용 TCP 또는 같은 jGroups
위해 JGroups가 신뢰할 수있는 멀티 캐스트 통신을위한 툴킷 또 다른 라이브러리 중 하나이다.
관련 문제
- 1. Objective-C에서 Java로 소켓을 통해 데이터 보내기
- 2. 단편화없이 UDP 데이터 그램 보내기
- 3. 소켓을 통해 압축 된 데이터 보내기
- 4. x 분마다 소켓을 통해 데이터 보내기
- 5. 인터넷을 통해 개체 보내기
- 6. 소켓을 통해 정수의 bytearray 보내기
- 7. TCP 소켓을 통해 패킷 보내기
- 8. int 소켓을 통해 Java로 보내기
- 9. Java에서 데이터 그램 소켓을 가르치는 훌륭한 웹 사이트가 있습니까?
- 10. 소켓을 통해 16 진수 문자 보내기
- 11. .NET에서 소켓을 통해 일반 텍스트 보내기
- 12. Python 소켓을 사용하여 인스턴스로 데이터 보내기
- 13. UDP를 통해 사진 보내기
- 14. 윈도우와 리눅스 사이의 C++ 소켓을 통해 float 배열 보내기
- 15. 소켓을 통해 Java 객체를 보내고받는 방법은 무엇입니까?
- 16. IPC를 통해 C에서 Python으로 이진 데이터 보내기
- 17. 소켓을 통해 압축 된 데이터 배열
- 18. 소켓을 통해 Perl 데이터 구조를 공유하려면 어떻게해야합니까?
- 19. java DefaultHttpClient를 사용하여 httpo를 통해 서블릿에 데이터 보내기
- 20. UDP 데이터 그램 소켓 + 자바 체크섬
- 21. 파이썬 로깅 데이터 그램 핸들러
- 22. 데이터 테이블을 통해 개체 초기화
- 23. ByteBuffer 대 데이터 그램 패킷의 버퍼
- 24. TCP를 통해 데이터 그램을 보낼 수 있습니까?
- 25. C#의 TcpClient 소켓을 통해 SSL HTTP 요청 보내기
- 26. .net 소켓을 통해 XML 직렬화 된 객체 보내기
- 27. 소켓을 통해 메시지를 보내기 전에 지연 - 어떻게 도움이됩니까?
- 28. android에서 소켓을 사용하여 파일 보내기
- 29. Java/Android : 소켓을 통해 바이트 배열 읽기/쓰기
- 30. Java 소켓으로 배열 보내기
코드를 표시하고 정확한 오류 메시지를 알려주십시오. –
데이터 그램은 모든 패킷이 도착할 것이라고 보장 할 수 없으므로 개체를 보내는 데 적합하지 않습니다. –
몇 가지 유용한 링크 : [Java Tip 40 : 데이터 그램 패킷을 통한 객체 전송] (http://www.javaworld.com/javaworld/javatips/jw-javatip40.html) 및 [Java에서 UDP의 객체 직렬화 전송 및 수신] http://stackoverflow.com/questions/3997459/send-and-receive-serialize-object-on-udp-in-java) –