Cách truyền các Object qua socket trong Java?

Anh chi nào có thể hướng dẫn em hay có tài liệu gì về cách truyền Object qua socket trong Java không ạ. Em xin cảm ơn!

Bạn get output stream từ socket, serialize object sau đó truyền object bằng object output stream

anh cho em 1 vi dụ mẫu d ko ạ

Mình chỉ có thể cho bạn hướng dẫn như câu hỏi của bạn :smile:

:cry:
anh ko có tài lieu gi ve cai này ạ

Bạn nên tìm google trước khi hỏi!

đây là code gửi tin nhắn của mình giữa client vs server thông qua socket làm mô hình chat tin nhắn

Bạn tạo 1 class object implements Serializable + thay DataInputStream = ObjectinputStream rồi truyền như truyền tin nhắn.

Server

public class _4SocketServerExample {
	public _4SocketServerExample(int serverPort) throws Exception{
		@SuppressWarnings("resource")
		ServerSocket serverSocket = new ServerSocket(6969); // dang ky cong server
		while(true){
			final Socket socket = serverSocket.accept();
			new Thread(){
				public void run(){
				try{
					DataInputStream inputStream = new DataInputStream(socket.getInputStream());
					DataOutputStream outputStream = new DataOutputStream (socket.getOutputStream());
					System.out.println("Client Say: " + inputStream.readUTF());
					outputStream.writeUTF("hello!");
					inputStream.close();
					outputStream.close();
					socket.close();
				}catch(Exception e){
					e.printStackTrace();
					
				}
				}
			}.start();
		}
	}
	public static void main(String[] args) throws Exception {
		@SuppressWarnings("unused")
		_4SocketServerExample sv = new _4SocketServerExample(9245);
	}
}

Client

package Networking;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;

public class _5SocketClientExample {
	public static void main(String[] args) throws UnknownHostException, IOException {
		Socket socket = new Socket("localhost", 6969); // tao doi tuong chua dia chi may
								// cho nay de IP cua may client
		DataInputStream inputStream = null;
		DataOutputStream outputStream = null;
		try{
			inputStream = new DataInputStream(socket.getInputStream());
			outputStream = new DataOutputStream(socket.getOutputStream());
			
			outputStream.writeUTF("Hi");
			outputStream.flush();
			System.out.println("Server Say:  " + inputStream.readUTF()); // day la output cua server
		}finally{
			inputStream.close();
			outputStream.close();
			socket.close();
		}
	}
}

thank ban nhé :smile:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?