2010-07-06 2 views
0

임 HttpPost에서 IOExeption 'Host is unresolved'가 표시됩니다. 이 경우 엔드 포인트는 웹 서비스가있는 LAN에있는 컴퓨터입니다. (http://pc259:8080/test/service.asmx). 내 LAN에 WIFI를 사용하고 있습니다. Android는 해결 된 컴퓨터 이름을 알고 있습니까?LAN에서 호스트가 확인되지 않음

StringEntity se = new StringEntity(xmlDataToSend); 
se.setContentType("text/xml"); 
HttpPost httppost = new HttpPost(endPoint);  
httppost.setHeader("Content-Type","application/soap+xml"); 
httppost.setEntity(se);   
HttpClient httpclient = new DefaultHttpClient(); 
Log.i(TAG, " - Before execute"); 
httpResponse = (BasicHttpResponse) httpclient.execute(httppost); 
+0

pc259 대신 IP를 사용해 보셨습니까? – Sephy

+0

예, IP는 잘 작동합니다. 그러나 나는 그것을 사용하지 않는다. WSDL에서 호스트 이름을 가져옵니다. 나는 그것을 사용해야한다. (또는 IP로 변환 할 수 있지만 DNS가 무엇인지) – JustFogMaxi

+0

android에 내장 된 웹 브라우저 앱을 사용하여 기기에 액세스 할 수 있습니까? –

답변

3

JCIFS 라이브러리를 사용하여 Java에서 NetBIOS 이름을 확인할 수 있습니다. http://jcifs.samba.org/에서 가져올 수 있습니다. 호스트 이름을 프로젝트에 추가 한 다음이 코드를 사용하여 호스트 이름을 IP 주소로 변환하십시오.

import jcifs.netbios.NbtAddress; 
... 
NbtAddress nbtAddress = NbtAddress.getByName(hostname); 
InetAddress address = nbtAddress.getInetAddress(); 
String ipAddress = address.getHostAddress(); 
+0

정말 작동합니까? 그것은 여전히 ​​나를 위해 IP 주소를 반환하기 때문에 ... –

+0

내가 게시했을 때의 그것은 그것을했다. 나는 몇 년 동안 그 일을하지 않았으므로 더 이상 문제 해결에 도움이되지 않습니다. – Emdot

+0

@FlashThunder 위의 코드는 IP 주소를 반환해야합니다. – xmen

1

대부분의 경우 pc259은 당신 DNS 서버에 정의 된, 그러나에 NetBIOS 호스트 이름 (http://en.wikipedia.org/wiki/NetBIOS#NetBIOS_name_vs_host_name 참조)되지 않습니다.
Android에서 이러한 유형의 호스트 이름을 해결할 수 없다고 생각합니다.이 컴퓨터를 DNS 저장소에 추가해야합니다.

+0

그리고 DNS 리포지토리에 컴퓨터를 어떻게 추가할까요? – xmen

관련 문제