Programming/Server

[TCP/IP] 파이썬 Server - 자바 Client 통신 _ Error 기록

코딩뽀시래기 2022. 2. 15. 15:18
728x90

인공지능 코드는 파이썬에 있고, 안드로이드 앱 개발은 자바로 해서 둘 사이에 데이터 통신을 가능하게 하기 위해 여러 방법을 생각해보았다. 처음에 생각했던 것은 파이썬 파일을 tflite 형태로 저장해서 바로 안드로이드 프로젝트에 파일을 포함하는 방식이었는데, 내가 원하는 기능을 사용할 수 없어 포기했다. 다음으로 생각한 것은 파이썬으로 작성했던 코드를 자바로 다시 구현하는 것이다. 자바에서도 word2vec를 사용할 수 있는 것 같아서 바꿔볼까 생각했지만 제대로 동작할지에 대한 두려움과 귀찮음... 때문에 포기했다.

 

그리고 최종적으로 찾아낸 방법이 TCP/IP 소켓 통신을 이용한 방법이다. 파이썬을 server로 자바(안드로이드)를 client로 하여 데이터 통신을 하는 것이다. 일단 내가 원하는 동작을 하기 전에, 파이썬과 자바가 서로 문자열을 주고받을 수 있는지 테스트 해보기로 했다.

 

1. 파이썬 서버 - 자바 안드로이드 통신

2. 문자열 통신

 

1번까지는 큰 문제 없이 동작했는데, 문자열을 전달하는 과정에서 계속해서 에러가 발생했다. (1번도 내 컴퓨터의 서버 ip로 이용을 해서 다른 컴퓨터에서는 동작하지 않는다는 문제가 있지만, 이 부분은 나중에 해결하기로 하자.)

 


 

- 첫 번째 문제 (2022.02.15.화)

일단 자바에서 파이썬으로 문자열을 전송하는 것은 미뤄두고, 파이썬에서 자바로 문자를 전송하는 것부터 시도했다. In [6]을 보면 "check"를 자바로 넘겨주고 있다. 아무런 에러 문구도 뜨지 않고 정상적으로 동작하는 것처럼 보였지만, 자바에서 아무것도 받아오지 못하는 건지, 받아온 값을 보여주질 못했다.

 

+) 해결!!

자바와 파이썬에서 서로 문자열을 주고받을 수 있게 되었다. 자세한 방법은 다른 글에서 정리하고 링크 첨부해두겠다.

728x90

'Programming > Server' 카테고리의 다른 글

[TCP/IP] 파이썬 Server - 자바 Client 통신 테스트  (0) 2022.02.28
[Server] TCP/IP 소켓 통신  (0) 2022.02.15
[Server] HTTP란?  (0) 2022.02.07
[Node.js] Axios란?  (0) 2021.03.06
[Node.js] 앱 프로그래밍 시작  (0) 2021.02.15