android - 我正在尝试发布到本地主机 API,我得到 --> java.net.ConnectException : Connection timed out

标签 android angular api nativescript

我正在使用 NativeScript 构建应用程序,所以我的 android 手机通过 USB 电缆连接到计算机进行调试。

但是当我在运行该应用程序后尝试通过手机发帖时,它总是给我这个错误: System.err: java.net.ConnectException: 连接超时

我都试过了,到目前为止我不知道是什么问题。

***当我尝试从“ postman ”发送到服务器时,它工作正常。

谢谢!

import { Injectable } from "@angular/core";
import { User } from "../viewModels/userViewModel/userViewModel";
import { HttpClient } from '@angular/common/http';


@Injectable()
export class UserService {
    private serverUrl= "http://192.168.14.155:61986/api/Users/PostUser";

    constructor(private http: HttpClient) {}

    register(user:User){
        console.log("you are joing to use "+user.email+" as your Email");


      const req = this.http.post(this.serverUrl, {
      username: user.email,
      email: user.email,
      password: user.password
    }).subscribe(
       res => {
          console.log(res);
        },
        err => {
          console.log("Error occured");
        }
      );
    }

}

这些是发生的错误:

System.err: java.net.ConnectException: Connection timed out
System.err:     at java.net.PlainSocketImpl.socketConnect(Native Method)
System.err:     at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:334)
System.err:     at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:196)
System.err:     at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:178)
System.err:     at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:356)
System.err:     at java.net.Socket.connect(Socket.java:586)
System.err:     at com.android.okhttp.internal.Platform.connectSocket(Platform.java:113)
System.err:     at com.android.okhttp.Connection.connectSocket(Connection.java:1432)
System.err:     at com.android.okhttp.Connection.connect(Connection.java:1390)
System.err:     at com.android.okhttp.Connection.connectAndSetOwner(Connection.java:1667)
System.err:     at com.android.okhttp.OkHttpClient$1.connectAndSetOwner(OkHttpClient.java:133)
System.err:     at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:466)
System.err:     at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:371)
System.err:     at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:503)
System.err:     at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:130)
System.err:     at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:261)
System.err:     at org.nativescript.widgets.Async$Http$RequestOptions.writeContent(Async.java:313)
System.err:     at org.nativescript.widgets.Async$Http$HttpRequestTask.doInBackground(Async.java:536)
System.err:     at org.nativescript.widgets.Async$Http$1.run(Async.java:482)
System.err:     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
System.err:     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
System.err:     at org.nativescript.widgets.Async$PriorityThreadFactory$1.run(Async.java:52)
System.err:     at java.lang.Thread.run(Thread.java:762)
JS: Error occured

最佳答案

由于您的手机和电脑不在同一网络中,请通过 USB 连接您的设备并在命令提示符中输入以下命令:

adb 反向 tcp:61986 tcp:61986

然后代替 http://192.168.14.155:61986/api/Users/PostUser 使用 http://localhost:61986/api/Users/PostUser

关于android - 我正在尝试发布到本地主机 API,我得到 --> java.net.ConnectException : Connection timed out,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50731503/

相关文章:

json - OpenAPI:接受任何(复杂)JSON值的模式

android - 键盘打开时 fragment 不会调整大小

java - 资源编译失败

javascript - 如何使用 angular2 和 typescript 链接 3 个 Promise

javascript - 将 Youtube 的 javascript API 与 jQuery 结合使用

javascript - 在线阅读服务?

java - 通知 Android : Don't show notification when app is open?

android - Azure -> Node.js 中的 Easy api -> 如何发送 Android 推送通知?

typescript - 从结果创建 Observable<T>

node.js - Angular 2+/NodeJS/Express : Routing fails on page refresh