서비스
는 요청
이 있을 때만 응답하는 서비스 서버
와 요청하고 응답받는 서비스 클라이언트
로 나뉜다.
서비스는 토픽과는 달리 일회성
양방향
메세지
통신이다. 따라서 서비스의 요청과 응답이 완료되면 연결된 두 노드는 접속이 끊긴다.서버가 클라이언트로부터 정수 자료형 두개를 받아 더해 응답하는 서비스 통신을 구현해 봅시다!.
우선 기존의 catkin_ws/src 에서 새로운 패키지를 생성합니다.
python과 C++을 이용하여 빌드하기 때문에 std_msgs
rospy
roscpp
의존성을 사용합니다
$ cd ~/catkin_ws/src
$ catkin_create_pkg service_test std_msgs rospy roscpp
를 통해 패키지를 생성합니다.
이전 토픽에서 새로운 msg파일을 만들었듯이, 서비스에서도 srv라는 형식의 파일을 만들어야 합니다.
먼저 srv 폴더를 만들고, 그 뒤에 AddTwoints.srv라는 파일을 만들겠습니다.