오랜만에 또 기록해둘만한 것이 생겨서 키보드를 두드린다. 상황이 어찌저찌 잘 맞아서 핀란드 헬싱키에서 열린 Mobisys에서 데모를 발표할 기회가 생겼다. DNN offloading이 기본적으로 들어가는 연구여서 서로 다른 기기간의 소켓 통신이 들어가 있었는데, 컨퍼런스가 열린 헬싱키 대학의 wifi가 외부 접속을 위한 포트들을 싹다 막아둬서 구현해둔 코드가 동작하지 않았다. 덕분에 학회 첫날 숙소에서 해결책을 찾다가 발견한 것이 터널링, ngrok이라는 프로그램을 통해서 막혀있는 포트를 외부 서버를 통해 우회하여 접속할 수 있었다. 간단하게 사용했던 방법만 기록해두려고 한다.
기본적인 설치 및 실행 방법은 아래의 블로그를 참고하였다.
https://yunwoong.tistory.com/131
ngrok으로 외부에서 접속가능한 로컬 네트워크 환경 구성하기
ngrok 이란 ngrok 사이트에는 Secure tunnels to localhost이라고 설명되어 있습니다. 간단히 방화벽 넘어서 외부에서 로컬에 접속 가능하게 하는 터널 프로그램입니다. 만약 통신을 할 수 있는 프로그램을
yunwoong.tistory.com
1. 터미널에서 ngrok tcp [내부 포트 번호]로 코드를 실행한다.
그럼 다음과 같은 화면이 나온다
본인은 9784라는 내부 포트를 사용하였다.
2. 이 경우에 서버 코드는 그냥 'server.py --p [내부 포트 번호 (여기서는 9784)]'와 같이 실행해주면 된다.
3. client 코드의 경우 forwarding을 해주는 중간 ip로 접속을 해줘야 한다. 실행의 경우 'client.py --ip [forwading ip (2.tcp.eu.ngrok.io)] --p [외부 포트 번호 (18376)]와 같은 형태.
처음에 대부분 블로그들이 HTTP 예시만 보여줘서 생각 없이 그대로 tcp에 적용했다가 안돌아갔던 기억이 있어서 기록해둔다. 참고로 최종 데모를 발표할 때는 터널링이고 나발이고 jetson tx2에서 wifi가 안잡히는 문제가 생겨서 개고생했었다. 끝!
'삽질 노트' 카테고리의 다른 글
텐서보드 로그 파일 .csv로 정리하기 (Tensorboard log to csv) (0) | 2023.08.22 |
---|---|
CT image의 Axial, Coronal axis 분류하기 (0) | 2023.08.08 |
박사학위과정 전문연구요원 준비 (1) - 한국사능력검정시험 준비 후기 (1) | 2023.04.17 |
윈도우 caps lock -> 한/영 키로 만들기 (1) | 2023.01.04 |
윈도우 Terminal 꾸미기 (Windows terminal theme 설정, Oh-My-Posh, 배경이미지 넣기) (1) | 2023.01.04 |