UDP whit Real Time OS를 통해 통신하기 위해 봄 통합을 사용합니다. 메시지에서 IP 주소를 되찾고 싶습니다.
@Bean
public MessageChannel udpIn()
{
return new DirectChannel();
}
@Bean
public UnicastReceivingChannelAdapter udpInboundAdapter()
{
UnicastReceivingChannelAdapter adapter = new UnicastReceivingChannelAdapter(8888);
adapter.setOutputChannel(udpIn());
adapter.setListening(true);
adapter.setPoolSize(7);
adapter.start();
return adapter;
}
@ServiceActivator(inputChannel = "udpIn")
public void msgConsumer(Message<byte[]> message)
{
System.out.println("Message Received! Payload:" + Arrays.toString(message.getPayload()));
// HERE I want to get IP address
}
다음 과 같이 UnicastReceivingChannelAdapter
생성됩니다 Message
.
message = getMessageBuilderFactory().withPayload(payload)
.setHeader(IpHeaders.HOSTNAME, hostName)
.setHeader(IpHeaders.IP_ADDRESS, hostAddress)
.setHeader(IpHeaders.PORT, port)
.setHeader(IpHeaders.PACKET_ADDRESS, packet.getSocketAddress())
.build();
msgConsumer()
서비스 메소드 에서 해당 헤더를 살펴보십시오 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다