728x90
반응형
Spring Integration으로 TCP server가 개발되있고 Spring Boot Test 로 Socket 통신을 테스트 할때 data가 비어서 전송되는 이슈가 있습니다.
아래와 같이 Test 함수를 실행하였습니다.
@Test
void testTcpSend() throws IOException {
Socket socket = new Socket("localhost", 8084);
OutputStream output = socket.getOutputStream();
byte[] data = {0x02};
output.write(data);
socket.close();
}
server에서는 아래와 같이 전송된 데이터 로그를 찍게 하였습니다.
System.out.println("byte : " + inputStream.read());
server에서 수신된 데이터 로그는 아래와 같습니다.
byte : 2
byte : -1
byte : -1
전송한 data 출력되고 주기적으로 빈 데이터가 출력됩니다. InputStream read 함수는 데이터가 없으면 -1을 반환하게 됩니다.
Test 함수에서는 Socket을 close 했으므로 Spring Integration 쪽 이슈로 보이는데 정확한 사유는 추후 확인이 필요할 것 같습니다.
728x90
반응형
'개발 > spring, spring boot' 카테고리의 다른 글
[Spring Boot][Mybatis][MariaDB] Bulk Update 방법 (0) | 2024.02.07 |
---|---|
[Spring Integration][Spring Boot Test] Socket 통신 테스트 시 빈 데이터 전송 해결 (0) | 2024.02.05 |
[Spring Integration] Multi TCP server 테스트 시 Address already in use: bind 에러 (0) | 2024.01.31 |
[Spring Integration] Multi TCP server 구현 (1) | 2024.01.31 |
[Spring Integration] TcpNioServerConnectionFactory vs TcpNetServerConnectionFactory (0) | 2024.01.31 |