改造不能连接到我的本地Web服务器上的3000端口 [英] Retrofit cannot connect to my local web server on port 3000

查看:943
本文介绍了改造不能连接到我的本地Web服务器上的3000端口的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的应用程序正在使用改造(V1.6.1)连接到REST Web服务无法连接到我的本地Web服务器(运行本地主机),这是错误我得到。

这是内部Nexus4(V4.3)仿真器,我使用Android的工作室进行开发和我已经加入 android.permission.INTERNET对&安培; android.permission.ACCESS_NETWORK_STATE 权限清单文件。

错误说,它等待15秒,但它没有,它出现了错误的时候了。

  15 07-13:57:53.947 820-840 / it.test.android.app.activity D /改造:---> HTTP POST的http://本地主机:3000 /应用/认证/登入
07-13 15:57:54.132 820-840 / it.test.android.app.activity D /改造:内容类型:应用程序/ JSON的;字符集= UTF-8
07-13 15:57:54.132 820-840 / it.test.android.app.activity D /改造:内容长度:44
07-13 15:57:54.157 820-840 / it.test.android.app.activity D /改造:{身份验证:{电子邮件:史蒂夫,密码:通行证}}
07-13 15:57:54.387 820-840 / it.test.android.app.activity D /改造:---> END HTTP(44字节体)
07-13 15:57:54.657 820-840 / it.test.android.app.activity D /改造:----错误的http://本地主机:3000 /应用/认证/登入
07-13 15:57:54.857 820-840 / it.test.android.app.activity D /改造:java.net.ConnectException:无法连接15000ms后到localhost / 127.0.0.1(3000端口):isConnected失败: ECONNREFUSED(连接被拒绝)
            在libcore.io.IoBridge.isConnected(IoBridge.java:223)
            在libcore.io.IoBridge.connectErrno(IoBridge.java:161)
            在libcore.io.IoBridge.connect(IoBridge.java:112)
            在java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
            在java.net.PlainSocketImpl.connect(PlainSocketImpl.java:459)
            在java.net.Socket.connect(Socket.java:842)
            在libcore.net.http.HttpConnection<&初始化GT;(HttpConnection.java:76)
            在libcore.net.http.HttpConnection<&初始化GT;(HttpConnection.java:50)
            在libcore.net.http.HttpConnection $ Address.connect(HttpConnection.java:340)
            在libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:87)
            在libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
            在libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:316)
            在libcore.net.http.HttpEngine.connect(HttpEngine.java:311)
            在libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:290)
            在libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:240)
            在libcore.net.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:81)
            在libcore.net.http.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:197)
            在retrofit.client.UrlConnectionClient。prepareRequest(UrlConnectionClient.java:68)
            在retrofit.client.UrlConnectionClient.execute(UrlConnectionClient.java:37)
            在retrofit.RestAdapter $ RestHandler.invokeRequest(RestAdapter.java:321)
            在retrofit.RestAdapter $ RestHandler.access $ 100(RestAdapter.java:220)
            在retrofit.RestAdapter $ RestHandler $ 2.obtainResponse(RestAdapter.java:278)
            在retrofit.CallbackRunnable.run(CallbackRunnable.java:42)
            在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
            在java.util.concurrent.ThreadPoolExecutor中的$ Worker.run(ThreadPoolExecutor.java:573)
            在retrofit.Platform $的Andr​​oid $ 2 $ 1.run(Platform.java:142)
            在java.lang.Thread.run(Thread.java:841)
     libcore.io.ErrnoException:引起isConnected失败:ECONNREFUSED(连接被拒绝)
            在libcore.io.IoBridge.isConnected(IoBridge.java:208)
在libcore.io.IoBridge.connectErrno(IoBridge.java:161)
在libcore.io.IoBridge.connect(IoBridge.java:112)
在java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
在java.net.PlainSocketImpl.connect(PlainSocketImpl.java:459)
在java.net.Socket.connect(Socket.java:842)
在libcore.net.http.HttpConnection<&初始化GT;(HttpConnection.java:76)
在libcore.net.http.HttpConnection<&初始化GT;(HttpConnection.java:50)
在libcore.net.http.HttpConnection $ Address.connect(HttpConnection.java:340)
在libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:87)
在libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
在libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:316)
在libcore.net.http.HttpEngine.connect(HttpEngine.java:311)
在libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:290)
在libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:240)
在libcore.net.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:81)
在libcore.net.http.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:197)
在retrofit.client.UrlConnectionClient。prepareRequest(UrlConnectionClient.java:68)
在retrofit.client.UrlConnectionClient.execute(UrlConnectionClient.java:37)
在retrofit.RestAdapter $ RestHandler.invokeRequest(RestAdapter.java:321)
在retrofit.RestAdapter $ RestHandler.access $ 100(RestAdapter.java:220)
在retrofit.RestAdapter $ RestHandler $ 2.obtainResponse(RestAdapter.java:278)
在retrofit.CallbackRunnable.run(CallbackRunnable.java:42)
在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
在java.util.concurrent.ThreadPoolExecutor中的$ Worker.run(ThreadPoolExecutor.java:573)
在retrofit.Platform $的Andr​​oid $ 2 $ 1.run(Platform.java:142)
在java.lang.Thread.run(Thread.java:841)
07-13 15:57:54.857 820-840 / it.test.android.app.activity D /改造:---- END错误


解决方案

我解决了问题,需要使用 10.0.2.2 而不是本地主机连接到我的本地服务器。

在这里找到它 - http://developer.android.com/tool​​s/设备/ emulator.html#networkaddresses

My app that is using Retrofit (v1.6.1) to connect to REST web services cannot connect to my local web server (running on localhost), this is the error I am getting.

This is inside Nexus4 (v4.3) emulator, I am using Android Studio for development and I have added android.permission.INTERNET & android.permission.ACCESS_NETWORK_STATE permissions in manifest file.

The error says its waited for 15s but it does not, it errors out right away.

07-13 15:57:53.947      820-840/it.test.android.app.activity D/Retrofit﹕ ---> HTTP POST http://localhost:3000/app/auth/signin
07-13 15:57:54.132      820-840/it.test.android.app.activity D/Retrofit﹕ Content-Type: application/json; charset=UTF-8
07-13 15:57:54.132      820-840/it.test.android.app.activity D/Retrofit﹕ Content-Length: 44
07-13 15:57:54.157      820-840/it.test.android.app.activity D/Retrofit﹕ {"auth":{"email":"steve","password":"pass"}}
07-13 15:57:54.387      820-840/it.test.android.app.activity D/Retrofit﹕ ---> END HTTP (44-byte body)
07-13 15:57:54.657      820-840/it.test.android.app.activity D/Retrofit﹕ ---- ERROR http://localhost:3000/app/auth/signin
07-13 15:57:54.857      820-840/it.test.android.app.activity D/Retrofit﹕ java.net.ConnectException: failed to connect to localhost/127.0.0.1 (port 3000) after 15000ms: isConnected failed: ECONNREFUSED (Connection refused)
            at libcore.io.IoBridge.isConnected(IoBridge.java:223)
            at libcore.io.IoBridge.connectErrno(IoBridge.java:161)
            at libcore.io.IoBridge.connect(IoBridge.java:112)
            at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
            at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:459)
            at java.net.Socket.connect(Socket.java:842)
            at libcore.net.http.HttpConnection.<init>(HttpConnection.java:76)
            at libcore.net.http.HttpConnection.<init>(HttpConnection.java:50)
            at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:340)
            at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:87)
            at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
            at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:316)
            at libcore.net.http.HttpEngine.connect(HttpEngine.java:311)
            at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:290)
            at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:240)
            at libcore.net.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:81)
            at libcore.net.http.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:197)
            at retrofit.client.UrlConnectionClient.prepareRequest(UrlConnectionClient.java:68)
            at retrofit.client.UrlConnectionClient.execute(UrlConnectionClient.java:37)
            at retrofit.RestAdapter$RestHandler.invokeRequest(RestAdapter.java:321)
            at retrofit.RestAdapter$RestHandler.access$100(RestAdapter.java:220)
            at retrofit.RestAdapter$RestHandler$2.obtainResponse(RestAdapter.java:278)
            at retrofit.CallbackRunnable.run(CallbackRunnable.java:42)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
            at retrofit.Platform$Android$2$1.run(Platform.java:142)
            at java.lang.Thread.run(Thread.java:841)
     Caused by: libcore.io.ErrnoException: isConnected failed: ECONNREFUSED (Connection refused)
            at libcore.io.IoBridge.isConnected(IoBridge.java:208)
            at libcore.io.IoBridge.connectErrno(IoBridge.java:161)
            at libcore.io.IoBridge.connect(IoBridge.java:112)
            at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:192)
            at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:459)
            at java.net.Socket.connect(Socket.java:842)
            at libcore.net.http.HttpConnection.<init>(HttpConnection.java:76)
            at libcore.net.http.HttpConnection.<init>(HttpConnection.java:50)
            at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:340)
            at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:87)
            at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
            at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:316)
            at libcore.net.http.HttpEngine.connect(HttpEngine.java:311)
            at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:290)
            at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:240)
            at libcore.net.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:81)
            at libcore.net.http.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:197)
            at retrofit.client.UrlConnectionClient.prepareRequest(UrlConnectionClient.java:68)
            at retrofit.client.UrlConnectionClient.execute(UrlConnectionClient.java:37)
            at retrofit.RestAdapter$RestHandler.invokeRequest(RestAdapter.java:321)
            at retrofit.RestAdapter$RestHandler.access$100(RestAdapter.java:220)
            at retrofit.RestAdapter$RestHandler$2.obtainResponse(RestAdapter.java:278)
            at retrofit.CallbackRunnable.run(CallbackRunnable.java:42)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
            at retrofit.Platform$Android$2$1.run(Platform.java:142)
            at java.lang.Thread.run(Thread.java:841)
07-13 15:57:54.857      820-840/it.test.android.app.activity D/Retrofit﹕ ---- END ERROR

解决方案

I solved the issue, need to use 10.0.2.2 instead of localhost to connect to my local server.

Found it here - http://developer.android.com/tools/devices/emulator.html#networkaddresses

这篇关于改造不能连接到我的本地Web服务器上的3000端口的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆