▪ Student: chứa các thông tin về sinh viên như id, name, các phương thức cập nhật và lấy dữ liệu ▪ Client: Khởi tạo 01 đối tượng student, gửi đối. tượng sang server[r]
Trang 1TCP SOCKETS –OBJECT
Nguyễn Hữu Thể
LẬP TRÌNH MẠNG
Trang 2Send Object
❖Gửi, nhận dữ liệu là biến đối tượng mang dữ liệu
▪ Lớp ObjectInputStream: nhận đối tượng
• readObject(): phương thức đọc dữ liệu nhận
▪ Lớp: ObjectOutputStream: gửi đối tượng
• writeObject(): phương thức gửi dữ liệu
2
Trang 3Bài tập
❖Thiết kế 3 class:
▪ Student: chứa các thông tin về sinh viên như id, name, các phương thức cập nhật và lấy dữ liệu
▪ Client: Khởi tạo 01 đối tượng student, gửi đối
tượng sang server
▪ Server: Nhận đối tượng từ client, đọc thông tin từ đối tượng và in thông tin ra màn hình
3
Trang 4import java.io.Serializable;
public class Student implements Serializable {
private static final long serialVersionUID = 1L;
private int id ;
private String name ;
public Student(int id , String name ) {
this id = id ; this name = name ; }
public String toString() {
return "Id = " + getId() + " ; Name = " + getName(); }
public int getId() {
return id ; }
public void setId(int id ) {
this id = id ; }
public String getName() {
return name ; }
public void setName(String name ) {
this name = name ; }
}
Trang 5public class Server {
public static void main(String[] args ) {
try {
ServerSocket server = new ServerSocket(4444); Socket client = server accept();
ObjectInputStream input = new
ObjectInputStream(client.getInputStream());
Student student = (Student) input.readObject(); System.out.println( "Object received = " + student);
client.close();
} catch (SocketException se ) {
//se printStackTrace();
} }
}
Trang 6public class Client {
public static void main(String[] args ) {
try {
Socket server = new Socket( "localhost" , 4444);
ObjectOutputStream output = new
ObjectOutputStream(server getOutputStream());
Student student = new Student(1, "Tom Cat" );
System.out.println( "Object to be written = " + student);
output.writeObject( student );
output.flush();
server close();
} catch (SocketException se ) {
//se.printStackTrace();
} }
}