2012-04-24 2 views
-1

android ndk (native code)를 사용하여 Apache Tomcat 서버와 통신하고 싶습니다. 전달할 수 있습니까? 그렇게 할 수있는 다른 방법이 있습니까?NDK를 통한 Android 클라이언트 - 서버

감사합니다.

+0

이미 많은 유용한 유틸리티가 사용 가능한 경우 ndk를 사용 하시겠습니까? 이 링크에서 몇 가지 기본 사항을 확인할 수 있습니다. http://www.ibm.com/developerworks/kr/opensource/library/os-android-networking/ – MikeIsrael

+0

@MikeIsrael : 웹 페이지 가져 오기 예 – Chetan

+0

당신은 할 필요가, 당신은 TCP를, udp 연결이 필요합니까? 어느 쪽이든 구글의 간단한 검색은 원하는 것을위한 네이티브 라이브러리를 생성합니다. – MikeIsrael

답변

1

표준 POSIX 소켓 코드는 Android 네트워킹에서 사용할 수 있습니다. 안드로이드 용 소켓 시스템 호출 API는 https://github.com/android/platform_bionic/blob/master/libc/SYSCALLS.TXT (공식 안드로이드 C 라이브러리 저장소의 클론입니다)에서 찾을 수 있습니다. 네트워크 계층 요구 사항을 처리해야합니다. 코드에 관해서는 간단한 네트워크 클라이언트의 코드는 http://en.wikipedia.org/wiki/Berkeley_sockets#Client에 있습니다. 그러나 이것은 자신의 응용 프로그램 계층 프로토콜 (HTTP 가정) 코드를 작성하려는 경우에만 해당됩니다. 대신에 HTTP 클라이언트 라이브러리를 사용하는 것이 좋습니다.

HTTP 클라이언트 라이브러리의 경우 libcurl 또는 유사한 라이브러리를 사용하여 통신 할 수 있습니다. libcurl 사이트의 사용 가능한 라이브러리 목록은 http://curl.haxx.se/libcurl/competitors.html입니다.

참고 : 컴파일 된 라이브러리가 거의 없을 것입니다. 코드를 컴파일하기 전에 라이브러리를 컴파일하고 응용 프로그램에 추가해야하며 라이브러리는 설치 패키지의 일부 여야합니다.

+0

도움을 주신 samveen에게 감사드립니다. 위의 링크가 가리키는 클라이언트 측의 http 라이브러리를 사용할 수 있습니까? Java에서 실행되는 서버. 통신하기 위해 자체 핸드 쉐이킹 프로토콜을 작성해야합니까? – Chetan

+0

Chetan, Tomcat 서버를 사용할 때 HTTP를 사용하여 통신 할 것입니다. HTTP를 통해 전송하는 데이터는 전적으로 사용자에게 달려 있습니다. 즉, 통신 프로토콜이 HTTP이기 때문에, 클라이언트와 비교하여 서버가 작성된 언어 (양측이 프로토콜을 이해하고 네트워크를 통해 통신 함) – Samveen

+0

예, 감사합니다. 귀하의 의견에 동의합니다. – Chetan

관련 문제