最近在做一個關于安卓和服務器之間通信的問題,遇到一個問題,以下是部分程式代碼(服務器是安卓手機)
計算機端
try {
Socket socket = new Socket("192.168.1.102",2005);//本地IP192.168.1.102(局域網),連接服務器埠2005
if(socket.isConnected()==true)
{
OutputStream outputStream=socket.getOutputStream();
DataOutputStream dataOutputStream=new DataOutputStream(outputStream);
InputStream inputStream=socket.getInputStream();
DataInputStream dataInputStream=new DataInputStream(inputStream);
dataOutputStream.writeUTF("Client is ON");
while(true)
{
switch(dataInputStream.readUTF())
{
case "password?":
dataOutputStream.writeUTF(password);
case"OK":
System.out.println("You are succeed in connecting");
break;
case"error":
System.out.println("You passsword may be wrong");
break;
default:
System.out.println("please try again");
}
}
}
} catch (IOException e) {
e.printStackTrace();
}
安卓端(服務器)
@Override
public void run() {
super.run();
try {
ServerSocket serverSocket=new ServerSocket(2005);
Log.e("tag", "&MY THREAD IS RUNING");
Socket socket=serverSocket.accept();
Log.e("tag", "MY THREAD IS RUNING");
change=true;
localipaddress=socket.getLocalAddress().toString();
if(socket.isConnected()==true) {
InputStream inputStream = socket.getInputStream();
OutputStream outputStream = socket.getOutputStream();
DataInputStream dataInputStream = new DataInputStream(inputStream);
DataOutputStream dataOutputStream = new DataOutputStream(outputStream);
if (socket.isConnected() == true) {
if (dataInputStream.readUTF().toString() == "Client is ON") {
dataOutputStream.writeUTF("password?");
if (dataInputStream.readUTF().toString() == passwordText) {
dataOutputStream.writeUTF("OK");
setContentView(R.layout.error);
} else {
dataOutputStream.writeUTF("error");
setContentView(R.layout.ok);
}
}
}
}
} catch (IOException e) {
e.printStackTrace();
}
以下是計算機端的報錯
‘java.net.ConnectException: Connection refused (Connection refused)
at java.base/java.net.PlainSocketImpl.socketConnect(Native Method)
at java.base/java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:399)
at java.base/java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:242)
at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:224)
at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:403)
at java.base/java.net.Socket.connect(Socket.java:591)
at java.base/java.net.Socket.connect(Socket.java:540)
at java.base/java.net.Socket.<init>(Socket.java:436)
at java.base/java.net.Socket.<init>(Socket.java:213)
at ArithmeticAssistant.AndroidPhone.<init>(AndroidPhone.java:8)
大佬快來啊
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/70236.html
標籤:移動開發其他問題
下一篇:adb shell 點贊搶紅包
