Part 5: Socket Class and ServerSocket in Java


1 – Socket là gì ?

Một Socket là một thiết bị đầu – cuối cho việc liên kết thông tin liên lạc 2 chiều của 2 chương trình trên Network. Một ứng dụng sever chạy trên một máy cụ thể và có một socket ràng buộc một số cổng kết nối cụ thể. Server sẻ chờ đợi, lắng nghe Client Socket để tạo ra một yêu cầu kết nối.

Về phía của Client, Ứng dụng client cần biết tên Host của máy tính nơi mà Ứng dụng sever thì đang chạy và những Port của sever thì đang lắng nghe. Để tạo ra một yêu cầu kết nối . Client sẻ mở ra một socket với máy Sever và Port của server.

2 – Tạo ra một Socket

Lớp Java.net.Socket thì được sử dụng để tạo ra một sự kết nối giữa một chương trình Client and một chương trình Server . Lớp Socket là đại diện cho Client để tạo kết nối.

Phương thức tạo một Socket : Socket( String host, int port )

2 – Reading from and Writing to a Socket

Nhớ 2 phương thức chính là getInputStream và getOutoutStream

Bước 1 : Lấy InpuStream từ Socket

Bước 2 : Lấy OutputStream từ Socket

Bước 3 : Đọc từ InputStream

Bước 4 : Viết từ InputStream

3 – SeverSocket là gì ?

Lớp SeverSocket thì được sử dụng để đại diện cho Sever trong việc giao tiếp giừa chương trình. ServerSocket có 1 ràng buộc cụ thể bởi 1 cổng nào đó  và nó phải rảnh rổi hoặc có thể truy cập từ Client. Nếu cái cổng này được sữ dụng bởi một ứng dụng khác thì nó sẻ ném ra một exception.

Nếu lớp ServerSocket thì kết nối thành công , thì nó sẻ phải chờ đợi and lắng nghe từ những yêu cầu của Client được thiết lập. và nó có constructor thông dụng như.

public ServerSocket(int port)

Lớp SeverSocket có một phương thức là accept() cho việc lắng nghe yêu cầu của Client. Một thể hiện của ServerSocket được tạo ra , bạn có thể gọi phương thức accept() cho việc lắng nghe yêu cầu cua Client. Phương thức accept()  là một phương thức ngăn chặn cho một lần gọi , nó sẻ chờ cho đến khi yêu cầu của Client thì được kết nối.

Khi 1 yêu cầu của Client cho một kết nối, phương thức accept() tạo ra một đối tượng Socket và trả lại nó. Đối tượng được trả lại đại diện cho một Proxy ( ủy nhiệm ) của một Client. Để giao tiếp với Client, bạn lấy InputStream và OutputStream của đối tường Proxy Socket này.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: