그래서 몇 가지 온도 센서 출력을 추적하고 사용자 정의 설정 값을 충족시키는 히터를 제어하는 Raspberry Pi가 있습니다. 나는 이제 파이와 통화하는 앱을 만들려고하고있어 휴대 전화에서 설정 값과 실제 온도를 읽을 수있다. 그렇게하면서 멀티 캐스트를 사용하여 여러 장치를 사용하도록 확장 할 수 있기를 바랬습니다. 결국 각 장치의 이름과 다양한 센서의 데이터 값을 포함하여 몇 가지 정보를 보내려고합니다. 나는 자바가 모든 정보를 담고있는 데이터 그램 패킷과 함께 보낼 수 있기를 바랬다. C++에서 구조체와 비슷한 것을 생각하고 있었는데 (이것은 자바에서의 첫 번째 시도 중 하나입니다.) 구조체가 존재하지 않기 때문에 문제가 있습니다.소켓을 통해 여러 데이터 값을 보내는 가장 좋은 방법은 무엇입니까?
전 공개적으로 수업을 진행할 수는 있지만 데이터 그램을 통해 보내야합니다. 매우 이상하게 보입니다. Java에서이 작업을 수행하는 더 좋은 방법이 있습니까?
게시 할 코드가 없기 때문에 디자인 문제 일 수 있지만 가능한 솔루션을 보여주는 코드 샘플은 크게 감사하겠습니다.
도움 주셔서 감사합니다.
편집 : 지금 안드로이드 용으로이 글을 쓰고있는 동안 나는 PC에서 비슷한 일을하려고한다. 나는 그들이 어떻게 다른지, 심지어이 경우에도 그렇 겠지만 나는 그것을 버릴 것이라고 생각했다.
좋아, 'DataOutputStream'에 쓰는 방법을 이해할 수 있지만 'ByteArrayOutputStream'을 사용하는 방법이 약간 퍼지다. 그대로 데이터를 바이트 형식으로 출력 스트림에 넣을 수 있습니까? 거기서 나는 'DatagramPacket'측면을 이해합니다. 다른 측면에서 그것을 읽는 측면에서, 어떤 숫자가 어떤 것인지를 알 수있는 실제 방법이 없다고 생각합니다. 해시 맵과 'ObjectOutputStream'을 사용하여 그 문제에 대한 해결책으로 생각하고 데이터 그램으로 보냈습니다. 그게 가능하니? 더 나은 조직을 위해서는 이것이 의미가 있습니까? – user2619631
그렇게 할 수 있습니다. 작성이 끝나면,'ByteArrayOutputStream.toByteArray()'를 호출 해, DatagramPacket의 바이트 배열을 취득합니다. – EJP