如何解决Android 手机无法连接到计算机
我想创建一个应用程序。我需要我的计算机(Camera 类)向应用程序(充当客户端)发送一些东西。当我使用我的 AVD 时它工作正常。当我切换到我的手机 (Android 6) 时,它无法连接。没有错误,但我的电脑停在 server.accept()
。他们在同一个网络中。
这是应用代码:
package com.whitespace.movement_detection_camera;
import androidx.appcompat.app.AppCompatActivity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import com.google.android.material.snackbar.Snackbar;
import java.io.DataInputStream;
import java.net.Socket;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Connection().execute();
}
private void notification(View view,String text) {
Snackbar snackBar = Snackbar.make(view,text,5000);
View snackBarView = snackBar.getView();
snackBar.show();
}
private class Connection extends AsyncTask {
@Override
protected Object doInBackground(Object... arg0) {
start();
return null;
}
}
private void start() {
try {
Socket phone = new Socket("192.168.178.25",6657); // IP from my Computer (Camera class)
DataInputStream receiver = new DataInputStream(phone.getInputStream());
while(true) {
String text = receiver.readUTF();
notification(findViewById(R.id.area),"From Server:");
notification(findViewById(R.id.area),text);
if(false) {
break;
}
}
phone.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
这是计算机上的代码:
import java.io.DataOutputStream;
import java.net.Socket;
import java.net.ServerSocket;
public class Camera {
public static void main(String[] args) {
System.out.println("Start");
ServerSocket server = new ServerSocket(6657);
Socket client = server.accept();
System.out.println("Connected!");
text_sender = new DataOutputStream(client.getOutputStream());
}
}
编辑:这个问题正在成为一个连接问题,所以我正在做一些更改。
从我的电脑运行 ping 192.168.178.14
(phone ip) 返回 From 192.168.178.25 icmp_seq=1 Destination Host Unreachable
(以及 100% 的包裹丢失)。在手机(termux 应用程序)上运行 ping 192.168.178.25
(pc ip) 让我 100% 丢包。我有两个路由器。第一个有 IP 192.168.178.1
,第二个有 192.168.178.2
。 .2 提供互联网。我从我的电脑访问它们,但只能从我的手机访问 .1。我也在我的手机上使用了 VPN,但我禁用了它并再次尝试,但它仍然无法连接。通过在手机上运行 ping whitespace-ThinkPad-T420
,它知道我的电脑的 ip 是 192.168.178.25
,但同样存在 Destination Host Unreachable
错误。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。