Java Отправить пользовательский объект через сокет Client, Server, LAN

Я хочу отправить объект (пользовательский класс) через сокет с клиента на сервер. Это мой код:

Сервер:

private class SocketServerThread extends Thread {

    @Override
    public void run() {
        try {
            serverSocket = new ServerSocket(socketServerPORT);

            while (true) {
                clientSocket = serverSocket.accept();
                ObjectInputStream inObject = new ObjectInputStream(
                        clientSocket.getInputStream());
                try {
                    Te xxx = (Te) inObject.readObject();

                } catch (ClassNotFoundException e) {
                    e.printStackTrace();
                }


                //DataInputStream dataInputStream = new DataInputStream(
                        //clientSocket.getInputStream());
                //messageFromClient=dataInputStream.readUTF();

        activity.runOnUiThread(new Runnable() {
            @Override
            public void run() {
                //activity.msgFromC.setText(messageFromClient);
            }
        });
    }
}

Клиент:

public Client(String aIPaddres, int aPort, Te u) {
    AddressIP = aIPaddres;
    Port = aPort;
    sendUser = u;
}
protected Void doInBackground(Void... arg0) {

    Socket clientSocket = null;

    try {

        clientSocket = new Socket(AddressIP, Port);
        ObjectOutputStream outObject = new ObjectOutputStream(
                clientSocket.getOutputStream());
        outObject.writeObject(sendUser);
        //DataOutputStream daneWyjsciowe = new DataOutputStream(
                //clientSocket.getOutputStream());
        //daneWyjsciowe.writeUTF("Czesc!" );

    } catch (UnknownHostException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        //response = "UnknownHostException: " + e.toString();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        //response = "IOException: " + e.toString();
    } finally {
        if (clientSocket != null) {
            try {
                clientSocket.close();

            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
    return null;

}

Пользовательский класс (Te.class):

public class Te implements Serializable {
public String message;
public Te(String m){
    message=m;
}

}

Когда я передаю простые данные, т.е. String, проблем нет. Но теперь я хочу передать объект, но всегда есть ClassNotFoundException на сервере. Я прочитал много стеков, но я не нашел ответа. Вы могли бы помочь мне?

0 ответов

Другие вопросы по тегам