Java와 C언어의 프로세스간 통신을 Redis Pub / Sub 기능을 활용하여 통신 해 보도록 한다
(잘 되겠지만 그냥 해봄)
Java는 jedis-2.7.2.jar 를 사용하고, Window 환경에서 테스트하였고
C 프로그램은 hiredis 를 사용하고, Centos 환경에서 테스트한다.
(Windows 환경에서 컴파일 및 실행 가능하다고 한다 https://yoonbh2714.blogspot.kr/2015/10/hiredis-for-windows.html)
내 PC(Java Process) <--------------->원격지 서버 1( Redis )<--------------->원격지 서버2(C Process)
Java 프로그램
참고로 subscribe 관련 함수는 blocking method임으로 스레드로 처리하던지
publish 할 때는 아래 함수를 사용한다
jedis.publish("channel", "message");
C 프로그램
위 소스와 같이 퍼블리쉬 또한 redisAsyncCommand 함수를 통해 가능하다
redisAsyncCommand(c, onMessage, NULL, "publish 1.2.3.4.* test");
컴파일을 아래와 같이...
테스트는 각 프로그램에서 publish 하면 등록한 채널에 따라 메시지를 출력 할 수 있는지를 확인
간단하게 끗..
'JAVA' 카테고리의 다른 글
[JAVA] logback + slf4j를 이용한 로그서버 구현 (SimpleSocketServer) (0) | 2017.05.11 |
---|---|
[Java] Reflection을 사용 해 field의 값 가져오기 (0) | 2017.02.09 |
[java] 파일 읽기, 쓰기, nio를 통한 파일 처리 (0) | 2017.02.02 |
STS + Maven Local Repository 참조하기 (0) | 2016.11.29 |
interlock_android/external db (4) | 2011.07.13 |