반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- springboot
- tls프로토콜확인
- LeetCode
- yum install java
- ssl프로토콜확인
- java 11
- java
- java 1.8 11
- No tests found for given includes
- aws
- java 버전 변경
- ssl이란?
- parse
- mysql executequery error
- log error
- mac os git error
- xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools)
- Medium
- error
- statement.executequery() cannot issue statements that do not produce result sets.
- AWS CLI
- java 여러개 버전
- 스프링부트테스트
- java version
- OpenFeign
- JUnit
- Java 1.8
- springboottest
- easy
- xcrun: error: invalid active developer path
Archives
- Today
- Total
쩨이엠 개발 블로그
[ TCP ] TCP Client 만들기 본문
728x90
반응형
TCP Server를 만들었으니 테스트 용으로 client를 만들어보기로 한다
매우 간단해서 Test용으로 대체한다
TCP Server와 따로 Springboottest로 하기 위해서는 기존과 다른 port를 사용해야한다
test 패키지 안에 application.yml을 따로 만들어준다
application.yml
tcp:
server:
port: 8091
Socket Test
Socket socket = new Socket("localhost", 8092);
OutputStream output = socket.getOutputStream();
byte[] data = {0x02, 0x10, 0x11, 0x01, 0x01, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, (byte) 0xCF, (byte) 0xEC, 0x03};
output.write(data);
socket.close();
기존의 log가 찍히는 것을 확인할 수 있다
application.yml을 바꾸지 않고 채널로 바로 보내기 위해서는 밑과 같이 MessageChannel을 만들어 주면 해결된다
가끔 밑의 사진 처럼 MessageChannel을 못찾는다고 할 때가 있는데 그 땐 Package가 MessageChannel이 있는 곳에 있는지 확인해본다
내 경우엔 com.test.iot!
@Autowired
private MessageChannel inboundChannel;
@Test
void test_send_sensor_status() {
MessagingTemplate messagingTemplate = new MessagingTemplate(this.inboundChannel);
byte[] bytes = {0x02, 0x10, 0x11, 0x01, 0x01, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, (byte) 0xCF, (byte) 0xEC, 0x03};
Message<byte[]> message = MessageBuilder.withPayload(bytes).build();
Message<?> receive = messagingTemplate.sendAndReceive(message);
byte[] response = new byte[0];
Assertions.assertTrue(Arrays.equals((byte[]) receive.getPayload(), response));
}
728x90
반응형
'개발 > JAVA' 카테고리의 다른 글
OpenFeign 적용기 ( spring boot 3.0.x ) (1) | 2023.06.13 |
---|---|
[ Java ] 자바 정규식 (Regular expressions) (0) | 2021.01.19 |
[ TCP ] TCP Server 만들기 (1) | 2021.01.05 |
[ java ] sdkman으로 자바 버전 관리하기 (0) | 2020.10.17 |
[ Java ] java8 list 비교 (0) | 2020.06.04 |
Comments