Я занимаюсь разработкой приложения, в котором телефон (программа Android) - это клиент, пытающийся отправить данные через сокет в программу-приемник Java на моем компьютере.
Пока я смог отправитьпростые строки или что-то еще, но сейчас я пытаюсь отправить пользовательские объекты, которые я создаю.Я должен отметить, что обе программы являются отдельными проектами Eclipse, и у меня, похоже, возникают проблемы с включением одного и того же пользовательского класса «Order» на стороне сервера (даже если у меня есть Order.java в папке src проекта сервера).
Некоторый код, для справки: Сервер:
private void run() throws Exception {
ServerSocket mySS = new ServerSocket(4443);
while(true) {
Socket SS_accept = mySS.accept();
InputStream is = SS_accept.getInputStream();
ObjectInputStream ois = new ObjectInputStream(is);
Order order = (Order) ois.readObject();
if (order!=null){
java.util.List<String> items = order.getOrders();
int chair = order.getChair();
int table = order.getTable();
double price = order.getPrice();
System.out.println("Table: "+ table + " || Chair: " +chair);
for(String food: items) {
System.out.println(food);
}
System.out.println("Price: $"+price);
}
is.close();
SS_accept.close();
mySS.close();
}
И соответствующая часть клиента:
try {
mySocket = new Socket(serverService.ipAddress, serverService.port);
os = mySocket.getOutputStream();
oos = new ObjectOutputStream(os);
} catch(Exception e) {
Toast.makeText(PlaceOrder.this, "Error - not connected to server.", Toast.LENGTH_SHORT).show();
}
try {
oos.writeObject(order);
Toast.makeText(PlaceOrder.this, "Order Submitted!", Toast.LENGTH_SHORT).show();
refreshOrderPage(); //refresh page, allow waiter to make more orders
oos.close();
os.close();
mySocket.close();
} catch (Exception e) {
Toast.makeText(PlaceOrder.this, "Error - not connected to server.", Toast.LENGTH_SHORT).show();
}
Любые идеи, почемуЯ получаю эту ошибку при попытке отправить объекты через сокеты?
Спасибо.