эта клиентская серверная программа запускается только один раз, строка отправки андроида на сервер и сервер отправляет ее в arduino. когда я отправляю первый раз, когда ардуино его получил, но когда я отправляю второй сервер, он его получает, но не отправляет его в arduino. Я не вижу проблемы. Я ценю, если кто-то может мне помочь ..Клиент/серверная программа не запускается обычным способом.
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class server {
private ServerSocket serverSocket;
String type1;
String type;
Socket socket;
Socket s;
DataOutputStream dos;
private ClientHandler c = new ClientHandler();
private Connection con = new Connection();
public server(int port) {
try {
serverSocket = new ServerSocket(port);
new Connection().start();
// new ClientHandler().start();
} catch (IOException e) {}
}
private class Connection extends Thread {
public void run() {
//Socket socket;
while (true) {
try {
socket = serverSocket.accept();
// DataOutputStream dos = new DataOutputStream(socket.getOutputStream());
System.out.println("connected");
DataInputStream dis = new DataInputStream(socket.getInputStream());
type = dis.readUTF();
System.out.println("jag fick det från android: " + type);
new ClientHandler().start();
dis.close();
//c.run();
} catch (IOException e) {}
}
}
}
private class ClientHandler extends Thread {
public void run() {
//System.out.println("1");
try {
// System.out.println("2");
socket = serverSocket.accept();
// System.out.println("3");
System.out.println("got it");
dos = new DataOutputStream(socket.getOutputStream());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
while (true) {
try {
if (type == null) {
//break;
continue;
}
// System.out.println("4");
//DataInputStream dis1 = new DataInputStream(s.getInputStream());
//type1 = dis1.readUTF();
//System.out.println("3");
dos.writeUTF(type);
System.out.println("jag fick det från ardunio: " + type);
//dos.flush();
//dos.close();
// con.run();
// type = null;
//socket.close();
break;
//continue;
} catch (IOException e2) {}
}
}
}
public static void main(String[] args) {
new server(3389);
System.out.println(" Server startar");
}
}
Начните с того, что не проглотите исключения ... если что-то вызывает исключение, вы должны хотя бы знать, что исключение было поднято, попробуйте напечатать их, по крайней мере. – SJuan76
Господи Иисусе, что отступы ... xD –
Я не вижу редактирования, я не знаю, почему я могу отправить его мне плз? –