2012-12-18 147 views
0

我已經設法將我的應用程序連接到Web服務,但我有一個Android平臺的問題。 (如果有人不知道,用cocos2d-x你可以製作多平臺應用程序)libcurl&android連接到本地主機上的web服務

現在,Web服務託管在本地主機的「http://127.0.0.1:9876/ts?wsdl」。

我設法爲它生成請求,它在win32應用程序中效果很好。當我嘗試使用android應用程序連接到Web服務時,問題就出現了。它總是會提供「代碼:7」(無法連接),但有趣的是,如果我連接到任何託管服務器,它都可以工作。

所以我想知道爲什麼它不會讓我連接到本地主機,也請注意,我使用模擬器,因爲我沒有設備,但我不認爲這是問題所在。

任何想法?

+0

'127.0.0.1'表示模擬器的本地主機。嘗試連接您的電腦本地IP地址.. – Akdeniz

回答

0

我假設你正在使用模擬器而不是手機。所以當你輸入localhost時,它指的是手機的IP地址,而不是你的電腦。 Android爲您提供了一個映射到您的PC本地主機的IP地址。所以使用10.0.2.2。而不是本地主機,它應該工作。

+0

是的,謝謝,我想出了Akdeniz的評論。我無法找到解決方案的最佳位置,因爲使用cocos2d-x的用戶在iOS或Android系統中經驗豐富,而這是常見的主流技術。感謝提示我終於添加了這個解決方法: '#if(CC_TARGET_PLATFORM == CC_PLATFORM_WIN32) \t \t curl_easy_setopt(curl,CURLOPT_URL,「http://127.0.0.1:9876/ts?wsdl」); \t \t #ENDIF \t \t的#if(CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) \t \t curl_easy_setopt(捲曲,CURLOPT_URL, 「http://10.0.2.2:9876/ts?wsdl」); \t \t#endif' – arqueum

相關問題