Bài giảng Thí nghiệm mạng máy tính 1: Chương 6 - ThS. Nguyễn Cao Đạt

37 6 0
Bài giảng Thí nghiệm mạng máy tính 1: Chương 6 - ThS. Nguyễn Cao Đạt

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài giảng Thí nghiệm mạng máy tính 1: Chương 6 do ThS. Nguyễn Cao Đạt biên soạn sau đây trình bày về lập trình mạng dùng Socket với những nội dung như khái niệm Socket, thiết kế giải thuật client/server, lập trình mạng trên Java và một số nội dung khác.

Trường Đại Học Bách Khoa Tp.HCM LẬP TRÌNH MẠNG DÙNG SOCKET CHƯƠNG VI Bản quyền ®2005- Khoa Cơng Nghệ Thơng Tin Trang Trường Đại Học Bách Khoa Tp.HCM KHÁI NIỆM VỀ SOCKET  Socket API – – – – Ðược giới thiệu BSD4.1 UNIX, 1981 Ðược ứng dụng khởi tạo, sử dụng hủy bỏ Dùng chế client/server Cung cấp hai dịch vụ chuyển liệu thông qua socket API: • unreliable datagram • reliable, byte stream-oriented Bản quyền ®2005- Khoa Cơng Nghệ Thơng Tin Trang Trường Đại Học Bách Khoa Tp.HCM KHÁI NIỆM VỀ SOCKET Bản quyền ®2005- Khoa Cơng Nghệ Thơng Tin Trang Trường Đại Học Bách Khoa Tp.HCM THIẾT KẾ GIẢI THUẬT CLIENT/SERVER  Thiết kế giải thuật cho client – Giải thuật cho chương trình client dùng UDP     – Xác định địa server Tạo socket Gởi/nhận liệu theo giao thức lớp ứng dụng thiết kế Đóng socket Giải thuật cho chương trình client dùng TCP      Xác định địa server Tạo socket Kết nối đến server Gởi/nhận liệu theo giao thức lớp ứng dụng thiết kế Đóng kết nối Bản quyền ®2005- Khoa Cơng Nghệ Thơng Tin Trang Trường Đại Học Bách Khoa Tp.HCM THIẾT KẾ GIẢI THUẬT CLIENT/SERVER  Thiết kế giải thuật cho Server – Chương trình server có hai loại:  Lặp(iterative)  Đồng – thời (concurrent) Hai dạng giao thức chương trình server:  Connection-oriented  Connectionless Bản quyền ®2005- Khoa Cơng Nghệ Thơng Tin Trang Trường Đại Học Bách Khoa Tp.HCM THIẾT KẾ GIẢI THUẬT CLIENT/SERVER Bản quyền ®2005- Khoa Cơng Nghệ Thơng Tin Trang Trường Đại Học Bách Khoa Tp.HCM THIẾT KẾ GIẢI THUẬT CLIENT/SERVER Bản quyền ®2005- Khoa Cơng Nghệ Thơng Tin Trang Trường Đại Học Baùch Khoa Tp.HCM THIẾT KẾ GIẢI THUẬT CLIENT/SERVER Bản quyền ®2005- Khoa Cơng Nghệ Thơng Tin Trang Trường Đại Học Bách Khoa Tp.HCM THIẾT KẾ GIẢI THUẬT CLIENT/SERVER Bản quyền ®2005- Khoa Cơng Nghệ Thơng Tin Trang Trường Đại Học Bách Khoa Tp.HCM THIẾT KẾ GIẢI THUẬT CLIENT/SERVER Bản quyền ®2005- Khoa Cơng Nghệ Thơng Tin Trang 10 Trường Đại Học Bách Khoa Tp.HCM LẬP TRÌNH MẠNG TRÊN JAVA  ServerSocket class – Các phương thức ServerSocket       Socket accept() throws IOException : Lắng nghe kết nối đến socket chấp nhận void close() throws IOException : Đóng socket InetAddress getInetAddress() : trả địa cục socket int getLocalPort() : Trả port mà server lắng nghe void setSoTimeout(int timeout) throws SocketException Enable/disable SO_TIMEOUT với khai báo timeout (milliseconds) Bản quyền ®2005- Khoa Cơng Nghệ Thơng Tin Trang 23 Trường Đại Học Bách Khoa Tp.HCM LẬP TRÌNH MẠNG TRÊN JAVA  DateTime Server import java.net.*; import java.io.*; import java.util.Date; public class DayTimeServer { public final static int daytimePort = 5000; public static void main(String[] args) { ServerSocket theServer; Socket theConnection; PrintStream p; try { theServer = new ServerSocket(daytimePort); Bản quyền ®2005- Khoa Cơng Nghệ Thơng Tin Trang 24 Trường Đại Học Bách Khoa Tp.HCM LẬP TRÌNH MẠNG TRÊN JAVA  DateTime Server (tiếp theo) while (true) { theConnection = theServer.accept(); p = new PrintStream(theConnection.getOutputStream()); p.println(new Date()); theConnection.close(); theServer.close(); } }catch (IOException e) { System.err.println(e); } } } Bản quyền ®2005- Khoa Cơng Nghệ Thơng Tin Trang 25 Trường Đại Học Bách Khoa Tp.HCM LẬP TRÌNH SOCKET VỚI UDP Cung cấp chế truyền không tin cậy nhóm byte (datagrams) client server  Không cần thiết lập kết nối client server  Sender phải gởi kèm địa IP port đích  Server nhận liệu phân tích địa sender để truyền lại  Có thể server chấp nhận nhiều client thời điểm  Bản quyền ®2005- Khoa Cơng Nghệ Thơng Tin Trang 26 Trường Đại Học Bách Khoa Tp.HCM LẬP TRÌNH SOCKET VỚI UDP Bản quyền ®2005- Khoa Cơng Nghệ Thơng Tin Trang 27 Trường Đại Học Bách Khoa Tp.HCM VÍ DỤ (UDP Client) Bản quyền ®2005- Khoa Cơng Nghệ Thơng Tin Trang 28 Trường Đại Học Bách Khoa Tp.HCM VÍ DỤ (UDP Client) Bản quyền ®2005- Khoa Cơng Nghệ Thơng Tin Trang 29 Trường Đại Học Bách Khoa Tp.HCM VÍ DỤ (UDP Server) Bản quyền ®2005- Khoa Cơng Nghệ Thơng Tin Trang 30 Trường Đại Học Bách Khoa Tp.HCM VÍ DỤ (UDP Server) Bản quyền ®2005- Khoa Cơng Nghệ Thơng Tin Trang 31 Trường Đại Học Bách Khoa Tp.HCM LẬP TRÌNH SOCKET VỚI TCP  Server – –  Client – – –  Server process phải chạy trước Server phải tạo socket để lắng nghe chấp nhận kết nối từ client Khởi tạo TCP socket Xác định IP address, port number server Thiết lập kết nối đến server Khi server nhận yêu cầu kết nối, chấp nhận yêu cầu khởi tạo socket để giao tiếp với client – Có thể server chấp nhận nhiều client thời điểm Bản quyền ®2005- Khoa Cơng Nghệ Thơng Tin Trang 32 Trường Đại Học Bách Khoa Tp.HCM LẬP TRÌNH SOCKET VỚI TCP Bản quyền ®2005- Khoa Cơng Nghệ Thơng Tin Trang 33 Trường Đại Học Bách Khoa Tp.HCM VÍ DỤ (TCP Client) Bản quyền ®2005- Khoa Cơng Nghệ Thơng Tin Trang 34 Trường Đại Học Bách Khoa Tp.HCM VÍ DỤ (TCP Client tiếp theo) Bản quyền ®2005- Khoa Cơng Nghệ Thơng Tin Trang 35 Trường Đại Học Bách Khoa Tp.HCM VÍ DỤ (TCP Server) Bản quyền ®2005- Khoa Cơng Nghệ Thơng Tin Trang 36 Trường Đại Học Bách Khoa Tp.HCM VÍ DỤ (TCP Server – tiếp theo) Bản quyền ®2005- Khoa Cơng Nghệ Thông Tin Trang 37 ... InetAddressFactory.java Cho địa tìm tên máy  ReverseTest.java Bản quyền ®200 5- Khoa Cơng Nghệ Thơng Tin Trang 16 Trường Đại Học Bách Khoa Tp.HCM LẬP TRÌNH MẠNG TRÊN JAVA Bản quyền ®200 5- Khoa Cơng Nghệ Thơng... thức chương trình server:  Connection-oriented  Connectionless Bản quyền ®200 5- Khoa Cơng Nghệ Thơng Tin Trang Trường Đại Học Bách Khoa Tp.HCM THIẾT KẾ GIẢI THUẬT CLIENT/SERVER Bản quyền ®200 5-. .. find proxy.hcmut.edu.vn"); } } } Bản quyền ®200 5- Khoa Cơng Nghệ Thơng Tin Trang 15 Trường Đại Học Bách Khoa Tp.HCM LẬP TRÌNH MẠNG TRÊN JAVA  Các chương trình đọc thêm – Tạo địa IP từ mảng byte,

Ngày đăng: 11/05/2021, 19:08

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan