Nguyễn Viết Khánh – Công nghệ phần mềm - K48 34
Hình 17: Hình mô tả luồng Server hoạt động
Luồng Server lắng nghe tại một cổng nhất định. Luồng Client gửi yêu cầu kết nối đến Server để kết nối với Server. Khi Server chấp nhận yêu cầu kết nối từ phía Client sẽ tạo ra một luồng io để xử lý cho việc trao đổi dữ liệu. Khi đó , Client cũng tạo ra một luồng io. Hai luồng này sẽ thực hiện việc trao đổi dữ liệu giữa Server và Client.
Các bước thiết lập socket phía Server: - Tạo một socket
- Liên kết socket vơi một địa chỉ, địa chỉ này chứa cổng mà Server lắng nghe - Lắng nghe kết nối gửi đến
- Khi có kết nối gửi đến thì chấp nhận kết nối - Tạo luồng ServerThread để xử lý trao đổi dữ liệu
Nguyễn Viết Khánh – Công nghệ phần mềm - K48 35
Hình 18: Mô hình hoạt động của Server
Mã giả:
//Tạo ServerSocket lắng nghe tại cổng nhất định procedure run()
while(true)
//nếu chưa đến phiên luồng Server chạy thì cho luồng vào trạng thái đợi
if isStop // kiểm tra có tín hiệu dừng không, nếu có thì đóng chương //trình lại
break end if
Nguyễn Viết Khánh – Công nghệ phần mềm - K48 36 addThread( ServerSocket.accecp()); // nếu có kết nối từ di động, tạo luông IServerThread xử lý kết nối với di động
end if
if isStartServer = false // nếu chưa tạo luồng IServerThread thì cho luồng IThread chạy
// luồng IThread chạy else // ngược lại
//luồng IServerThread chạy end if
end while end procedure