Sưu tầm bởi: www.daihoc.com.vn LờimởđầuLậptrìnhmạng là một trong những nhiệm vụ căn bản để phát triển các ứng dụng doanh nghiệp. Một chương trìnhmạng được viết ra để các chương trình trên các máy tính khác nhau có thể truyền tin với nhau một cách hiệu quả và an toàn cho dù chúng được cài đặt trên mạng LAN, WAN hay mạng toàn cầu Internet, đây là điều căn bản đối với sự thành công của nhiều hệ thống. Java là ngôn ngữ lậptrình hướng đối tượng thuần túy với nhiều đặc trưng ưu việt so với các ngôn ngữ lậptrình hướng đối tượng khác như tính độc lập với nên, tính bảo mật,…Java là ngôn ngữ ngay từ khi ra đời đã hướng đến lậptrìnhmạng nên việc viết một chương trình lậptrìnhmạngbằngJava dễ dàng hơn nhiều so với các ngôn ngữ khác. Giáo trình này bao gồm 10 chương: Chương 1: Giới thiệu những khái niệm căn bản về mạng máy tính để người đọc có thể tiếp cận với các chương tiếp theo. Trong chương này chúng ta sẽ đi vào xem xét mạng vật lý, phần cứng được sử dụng trong các mạng LAN. Tiếp theo chúng ta sẽ tìm hiểu mô hình phân tầng OSI bảy tầng, và sự tương ứng của họ giao thức TCP/IP với các tầng trong mô hình OSI. Sau đó chúng ta sẽ đi vào tìm hiểu các giao thức mạng, giao thức Internet, và giao thức e-mail. Chương 2: Giới thiệu ngôn ngữ lậptrình Java. Chương này trình bày các khái niệm căn bản về ngôn ngữ lậptrình Java. Giới thiệu lịch sử phát triển và cấu trúc của máy ảo Java. Những đặc trưng đã tạo nên sức mạnh của ngôn ngữ Java cũng được giới thiệu trong chương này. Cũng trong chương này chúng ta sẽ đi vào tìm hiểu cách cấu hình và cài đặt môi trường biên dịch, chạy và soạn thảo ngôn ngữ Java. Tiếp đến ta sẽ đi vào tìm hiểu các thành phần cơ bản của Java như kiểu dữ liệu, cấu trúc lệnh tuần tự rẽ nhánh, lặp, và nhảy. Tiếp theo chúng ta sẽ đi vào tìm hiểu các khái niệm liên quan đến lậptrình hướng đối tượng trong Java như lớp, phương thức, thuộc tính, các từ khóa bổ trợ như static, final, abstract, thừa kế và tính đa hình trong Java. Một trong những khái niệm mới mà các ngôn ngữ truyền thống trước đây không có là ngoại lệ và đón bắt ngoại lệ trong Java cũng được giới thiệu. Chương 3: Các luồng vào ra. Chương này giới thiệu khái niệm vào ra bằng các luồng dữ liệu. Trước tiên ta sẽ tìm hiểu về các luồng và ý nghĩa của luồng trong chương trình Java. Tiếp đến chúng ta sẽ lần lượt tìm hiểu các luồng vào ra chuẩn trong gói làm việc với console. Các luồng trừu tượng java.io.InputStream, java.io.OutputStream là các luồng cơ bản để từ đó xây dựng nên các luồng cụ thể. Luồng được chia thành các nhóm như luồng byte và luồng ký tự. Từ phiên bản Java 1.4 một đặc trưng vào ra mới trong Java được đưa vào cũng được giới thiệu trong chương này. Việc nắm vững kiến thức ở chương này cũng giúp cho việc lập trình ứng dụng mạng trở nên đơn giản hơn vì thực chất của việc truyền và nhận dữ liệu giữa các ứng dụng mạng là việc đọc và ghi các luồng. Chương 4: Lậptrình đa tuyến đoạn. Trong các ngôn ngữ lậptrình trước đây các ứng dụng hầu hết là các ứng dụng đơn tuyến đoạn. Để tăng tốc độ xử lý và giải quyết vấn đề tương tranh của các ứng dụng nói chung và ứng dụng mạng nói riêng ta cần sử dụng khái niệm đa tuyến đoạn. Phần đầu của chương này trình bày các khái niệm căn bản về tiến trình, tuyến đoạn. Tiếp đến chúng ta sẽ xem xét các cách cài đặt một ứng dụng tuyến đoạn trong Javabằng lớp Thread và thực thi giao tiếp Runnable. Sau đó ta sẽ đi vào tìm hiểu các phương thức của lớp Thread. Sự đồng bộ hóa và cách cài đặt một chương trình đồng bộ hóa cũng được giới thiệu trong chương này. Chương 5: Lập trìnhmạng với các lớp InetAddress, URL và URLConnection. Lớp InetAddress là lớp căn bản đầu tiên trong lậptrìnhmạng mà ta cần tìm hiểu. Nó chỉ ra cách một chương trìnhJava tương tác với hệ thống tên miền. Tiếp đến ta sẽ đi vào tìm hiểu các khái niệm về URI, URL,URN và lớp biểu diễn URL trong Java. Cách sử dụng URL để tải về thông tin và tệp tin từ các server. Sau đó ta đi vào tìm hiểu lớp URLConnection, lớp này đóng vai trò như một động cơ cho lớp URL. Sưu tầm bởi: www.daihoc.com.vn Chương 6: Lậptrình Socket cho giao thức TCP. Trong chương này chúng ta sẽ tìm hiểu cách lậptrình cho mô hình client/server và các kiểu kiến trúc client/server. Các lớp Socket và ServerSocket được trình bày chi tiết trong chương này để lập các chương trình cho giao thức TCP. Chương 7: Lậptrình ứng dụng cho giao thức UDP. Chương này giới thiệu giao thức UDP và các đặc trưng của giao thức này. Tiếp đến ta đi vào tìm hiểu các lớp DatagramPacket và DatagramSocket để viết các chương trình ứng dụng mạng cho giao thức UDP. Chương 8: Tuần tự hóa đối tượng và ứng dụng trong lậptrình mạng. Trình bày các vấn đề về tuần tự hóa và ứng dụng của tuần tự hóa trong lậptrình mạng. Chương 9: Phân tán đối tượng bằngJava RMI. Chương này tìm hiểu chủ đề về lậptrình phân tán đối tượng bằng kỹ thuật gọi phương thức RMI (Remote Method Invocation). Chương 10:Xử lý cơ sở dữ liệu trong Java. Trình bày cách thức kết nối các cơ sở dữ liệu và xử lý cơ sở dữ liệu bằngJava thông qua giao diện lậptrình ứng dụng JDBC. Tìm hiểu về lậptrìnhmạng tốt nhất là trên các hệ thống mạng thực sự với nhiều máy tính được kết nối vật lý. Tuy nhiên trong giáo trình này hầu hết các ví dụ được trình bày để bạn đọc có thể lậptrình và thử nghiệm các ứng dụng mạng trên các máy đơn. Mặc dù đã hết sức cố gắng để trình bày giáo trình một cách dễ hiểu với các ví dụ minh họa giúp bạn đọc có thể thử nghiệm ngay sau khi tìm hiểu các vấn đề lý thuyết, nhưng chắc chắn giáo trình này không thể tránh khỏi những thiếu sót nhất định. Rất mong sự góp ý và phê bình của các bạn độc giả. Mọi thắc mắc và góp ý các bạn có thể gửi về theo địa chỉ e-mail sau:lequocdinh@vnn.vn hoặc hoan_td2001@yahoo.com Để hoàn thành giáo trình này các tác giả đã nhận được sự giúp đỡ rất nhiều từ bạn bè, đồng nghiệp và những người thân. Xin chân thành cảm ơn tới tất cả mọi người. Nhóm tác giả . nên, tính bảo mật, Java là ngôn ngữ ngay từ khi ra đời đã hướng đến lập trình mạng nên việc viết một chương trình lập trình mạng bằng Java dễ dàng hơn nhiều. www.daihoc.com.vn Lời mở đầu Lập trình mạng là một trong những nhiệm vụ căn bản để phát triển các ứng dụng doanh nghiệp. Một chương trình mạng được viết ra