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!
Cách truyền các Object qua socket trong Java?
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
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é