安卓开发,手机和电脑不在同一局域网内,如何通信?
我使用okhttp实现数据传输,手机和电脑后台在同一局域网时可以通信,但是不在同一局域网时就显示“failed to connect to 电脑ip(port 82) from 手机ip (port 60998) after 10000ms”。
后台是Flask,加了flask_cors跨域,还是无法连接
如果手机使用流量,电脑使用wifi的情况下,如何使手机app连接到电脑后台呢?
安卓app连接部分代码
void postRequest(String postUrl, RequestBody postBody) {
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url(postUrl)
.post(postBody)
.build();
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
// Cancel the post on failure.
call.cancel();
Log.d("FAIL", e.getMessage());
runOnUiThread(new Runnable() {
@Override
public void run() {
TextView responseText = findViewById(R.id.responseText);
responseText.setText("Failed to Connect to Server. Please Try Again.");
}
});
}
电脑端代码
import flask
from flask_cors import CORS
import werkzeug
import time
app = flask.Flask(__name__)
@app.route('/', methods = ['GET', 'POST'])
def handle_request():
return "Image(s) Uploaded Successfully. Come Back Soon."
if __name__=='__main__':
app.run(host="0.0.0.0", port=82)
CORS(app)