Tìm hiểu sử dụng kỹ thuật lập trình socket xây dựng chương trình tư vấn chăm sóc sắc đẹp

25 916 10
Tìm hiểu sử dụng kỹ thuật lập trình socket xây dựng chương trình tư vấn chăm sóc sắc đẹp

Đ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

Tìm hiểu sử dụng kỹ thuật lập trình socket xây dựng chương trình tư vấn chăm sóc sắc đẹp

Mục Lục LỜI MỞ ĐẦU..................................................................................2 NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN............................3 I. GIỚI THIỆU CHUNG.................................................................4 1. Tổng quan về đề tài:....................................................................4 1.1. Giới thiệu đề tài :......................................................................4 1.2. Mục đích :..................................................................................4 LẬP TRÌNH SOCKET TRONG JAVA........................................5 II.1. Mô hình Client – Server..........................................................5 II.1.1. Khái niệm :............................................................................5 II.1.2 Nguyên lý................................................................................7 II.2. Socket :....................................................................................10 II.2.1 Khái niệm về Socket :..........................................................10 II.2.2. Đặc điểm và phân loại về Socket :.....................................11 II.2.3. Socket trong Java :.............................................................17 Các thao tác trên Socket :.............................................................17 1.Môi trường triển khai ................................................................19 2.Kết quả các chức năng của chương trình.................................19 IV. KẾT LUẬN..............................................................................24 1.Những kết quả đạt được ............................................................24 2.Những tồn tại ..............................................................................24 3.Hướng phát triển .......................................................................24 1 LỜI MỞ ĐẦU Đối với mỗi chúng ta trong thế giới hiện đại, ứng dụng công nghệ thông tin đã là 1 phần tất yếu. Do vậy, Công nghệ Thông tin hiện tại là 1 ngành khoa học rất phát triển và cực kỳ quan trọng vì nó được ứng dụng cho hầu hết các ngành quan trọng khác, có sự ảnh hưởng trực tiếp tới sự phát triển kinh tế của mỗi Quốc gia. Hai lĩnh vực phổ biến và quan trọng nhất đó là phần cứng và phần mềm. Trong phạm vi đề tài này chỉ nói về phần mềm. Trong các ứng dụng về phần mềm, ứng dụng để giúp người sử dụng có thể truy cập từ xa , truy cập đồng thời cùng lúc và dữ liệu được tập trung , thuận tiện cho việc quản lý đó là các ứng dụng về mạng được nói đến. Môn “Lập trình mạng” mà chúng ta được học cũng không nằm ngoài mục đích đó. Trong môn này, ứng dụng Client-Server là quan trọng nhất. Đề tài: Tìm hiểu sử dụng kỹ thuật lập trình Socket xây dựng chương trình tư vấn chăm sóc sắc đẹp cũng thực hiện theo mô hình Client-Server giúp cho người dùng có các thông tin cơ bản chăm sóc sắc đẹp. Mục tiêu của đề tài là giúp chúng em vận dụng các kiến thức đã được học ở môn lập trình mạng và các kiến thức về lập trình Java để xây dựng ứng dụng . Tuy nhiên với kiến thức còn nhiều hạn chế nên trong quá trình xây dựng và hoàn thành đồ án môn học này chúng em còn mắc phải nhưng thiếu sót , hạn chế , sai lầm do vậy mong được sự chỉ bảo của thầy cô , cùng các bạn để đề tài được hoàn thiện về nội dung và hình thức. 2 Chúng em xin chân thành cảm ơn sự hướng dẫn nhiệt tình của thầy Ths. Nguyễn Văn Nguyên trong suốt quá trình chúng em thực hiện đề tài này . Đà Nẵng ngày 20 tháng 12 năm 2013 NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ………………………. ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ………………………. ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ………………………. ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ………………………. ……………………………………………………………………………………… ……………………………………………………………………………… Đà Nẵng.….tháng 12 năm 2013 GIÁO VIÊN 3 (ký tên) I. GIỚI THIỆU CHUNG 1. Tổng quan về đề tài: 1.1. Giới thiệu đề tài : - Chương trình tập trung theo các mảng thông tin về làm đẹp, những điều cần biết về chăm sóc sắc đẹp. - Về phía ứng dụng được xây dựng dựa trên mô hình Client / Server sử dụng lập trình Socket . Ứng dụng được xây dựng gồm 2 phần : phía Client (cho khách sử dụng ) , phía server (bên phía người quản trị) . - Môi trường để triển khai ứng dụng : Ngôn ngữ Java , Chương trình biên dịch NetBean . 1.2. Mục đích : - Giúp chúng em hoàn thiện các kiến thức về môn Lập trình mạng và các kiến thức về lập trình ứng dụng , các kiến thức về phân tích đặc tả một hệ thống phần mềm . - Các người dùng có thêm thông tin về chăm sóc sắc đẹp . - Giúp rèn luyện được khả năng lập kế hoạch để xây dựng một ứng dụng phần mềm . 4 II- MÔ HÌNH CLIENT – SERVER VÀ KỸ THUẬT LẬP TRÌNH SOCKET TRONG JAVA II.1. Mô hình Client – Server II.1.1. Khái niệm : - Mô hình Client-Server là một mô hình nổi tiếng trong mạng máy tính, được áp dụng rất rộng rãi và là mô hình của mọi trang web hiện có. Ý tưởng của mô hình này là máy con (đóng vài trò là máy khách) gửi một yêu cầu (request) để máy chủ (đóng vai trò người cung ứng dịch vụ), máy chủ sẽ xử lý và trả kết quả về cho máy khách. Mô hình Client – Server : H1 : Mô hình Client/Server H2 : Cách hoạt động của mô hình Client/Server 5 - Thuật ngữ Server được dùng cho những chương trình thi hành như một dịch vụ trên toàn mạng. Các chương trình Server này chấp nhận tất cả các yêu cầu hợp lệ đến từ mọi nơi trên mạng, sau đó nó thi hành dịch vụ và trả kết quả về máy yêu cầu. - Một chương trình được coi là Client khi nó gửi các yêu cầu tới máy có chương trình Server và chờ đợi câu trả lời từ Server. - Chương trình Server và Client nói chuyện với nhau bằng các thông điệp (messages) thông qua một cổng truyền thông liên tác IPC (Interprocess Communication). Để một chương trình Server và một chương trình Client có thể giao tiếp được với nhau thì giữa chúng phải có một chuẩn để nói chuyện, chuẩn này được gọi là giao thức. - Nếu một chương trình Client nào đó muốn yêu cầu lấy thông tin từ Server thì nó phải tuân theo giao thức mà Server đó đưa ra. Bản thân chúng ta khi cần xây dựng một mô hình Client/Server cụ thể thì ta cũng có thể tự tạo ra một giao thức riêng nhưng thường chúng ta chỉ làm được điều này ở tầng ứng dụng của mạng. - Với sự phát triển mạng như hiện này thì có rất nhiều giao thức chuẩn trên mạng ra đời nhằm đáp ứng nhu cầu phát triển này. Các giao thức chuẩn (ở tầng mạng và vận chuyển) được sử dụng rộng rãi nhất hiện nay như: giao thức TCP/IP, giao thức SNA của IBM, OSI, ISDN, X.25 hoặc giao thức LAN-to-LAN NetBIOS. - Một máy tính chứa chương trình Server được coi là một máy chủ hay máy phục vụ (Server) và máy chứa chương trình Client được coi là máy tớ (Client). Mô hình mạng trên đó có các máy chủ và máy tớ giao tiếp với nhau theo 1 hoặc nhiều dịch vụ được gọi là mô hình Client/Server. Thực tế thì mô hình Client/Server là sự mở rộng tự nhiên và tiện lợi cho việc truyền thông liên tiến trình trên các máy tính cá 6 nhân. Mô hình này cho phép xây dựng các chương trình Client/Server một cách dễ dàng và sử dụng chúng để liên tác với nhau để đạt hiệu quả hơn. II.1.2 Nguyên lý - Mô hình Client/Server như sau: Client/Server là mô hình tổng quát nhất, trên thực tế thì một Server có thể được nối tới nhiều Server khác nhằm làm việc hiệu quả và nhanh hơn. Khi nhận được 1 yêu cầu từ Client, Server này có thể gửi tiếp yêu cầu vừa nhận được cho Server khác ví dụ như database Server vì bản thân nó không thể xử lý yêu cầu này được. - Máy Server có thể thi hành các nhiệm vụ đơn giản hoặc phức tạp. Ví dụ như một máy chủ trả lời thời gian hiện tại trong ngày, khi một máy Client yêu cầu lấy thông tin về thời gian nó sẽ phải gửi một yêu cầu theo một tiêu chuẩn do Server định ra, nếu yêu cầu được chấp nhận thì máy Server sẽ trả về thông tin mà Client yêu cầu. - Có rất nhiều các dịch vụ Server trên mạng nhưng nó đều hoạt động theo nguyên lý là nhận các yêu cầu từ Client sau đó xử lý và trả kết quả cho Client yêu cầu. Thông thường chương trình Server và Client được thi hành trên hai máy khác nhau. Cho dù lúc nào Server cũng ở trạng thái sẵn sàng chờ nhận yêu cầu từ Client nhưng trên thực tế một tiến trình liên tác qua lại (interaction) giữa Client và Server lại bắt đầu ở phía Client, khi mà Client gửi tín hiệu yêu cầu tới Server. - Các chương trình Server thường đều thi hành ở mức ứng dụng (tầng ứng dụng của mạng). Sự thuận lợi của phương pháp này là nó có thể làm việc trên bất cứ một mạng máy tính nào có hỗ trợ giao thức truyền thông chuẩn cụ thể ở đây là giao thức TCP/IP. Với các giao thức chuẩn này cũng giúp cho các nhà sản xuất có thể tích hợp nhiều sản phẩm khác nhau của họ lên mạng mà không gặp phải khó khăn gì. Với các chuẩn này thì các chương trình Server cho một dịch vụ nào đấy có thể thi hành trên một hệ thống chia sẻ thời gian (timesharing system) với nhiều chương 7 trình và dịch vụ khác hoặc nó có thể chạy trên chính một máy tính các nhân bình thường. Có thể có nhiều chương Server cùng làm một dịch vụ, chúng có thể nằm trên nhiều máy tính hoặc một máy tính. - Với mô hình trên chúng ta nhận thấy rằng mô hình Client/Server chỉ mang đặc điểm của phần mềm không liên quan gì đến phần cứng mặc dù trên thực tế yêu cầu cho một máy Server là cao hơn nhiều so với máy Client. Lý do là bởi vì máy Server phải quản lý rất nhiều các yêu cầu từ các Clients khác nhau trên mạng. - Ưu và nhược điểm chính Có thể nói rằng với mô hình Client/Server thì mọi thứ dường như đều nằm trên bàn của người sử dụng, nó có thể truy cập dữ liệu từ xa (bao gồm các công việc như gửi và nhận file, tìm kiếm thông tin, ...) với nhiều dịch vụ đa dạng mà mô hình cũ không thể làm được. - Mô hình Client/Server cung cấp một nền tảng lý tưởng cho phép tích hợp các kỹ thuật hiện đại như mô hình thiết kế hướng đối tượng, hệ chuyên gia, hệ thông tin địa lý (GIS) ... Một trong những vấn đề nảy sinh trong mô hình này đó là tính an toàn và bảo mật thông tin trên mạng. Do phải trao đổi dữ liệu giữa 2 máy ở 2 khu vực khác nhau cho nên dễ dàng xảy ra hiện tượng thông tin truyền trên mạng bị lộ. * Client: Trong mô hình Client/Server, người ta còn định nghĩa cụ thể cho một máy Client là một máy trạm mà chỉ được sử dụng bởi 1 người dùng với để muốn thể hiện tính độc lập cho nó. Máy Client có thể sử dụng các hệ điều hành bình thường như Win9x, DOS, OS/2... Bản thân mỗi một Client cũng đã được tích hợp nhiều chức năng trên hệ điều hành mà nó chạy, nhưng khi được nối vào một mạng LAN, WAN theo mô hình Client/Server thì nó còn có thể sử dụng thêm các chức năng do hệ điều hành mạng (NOS) cung cấp với nhiều dịch vụ khác nhau (cụ thể là các dịch vụ do các Server trên mạng này cung cấp), ví dụ như nó có thể yêu cầu lấy dữ 8 liệu từ một Server hay gửi dữ liệu lên Server đó... Thực tế trong các ứng dụng của mô hình Client/Server, các chức năng hoạt động chính là sự kết hợp giữa Client và Server với sự chia sẻ tài nguyên, dữ liệu trên cả 2 máy Vai trò của Client Trong mô hình Client/Server, Client được coi như là người sử dụng các dịch vụ trên mạng do một hoặc nhiều máy chủ cung cấp và Server được coi như là người cung cấp dịch vụ để trả lời các yêu cầu của các Clients. Điều quan trọng là phải hiểu được vai trò hoạt động của nó trong một mô hình cụ thể, một máy Client trong mô hình này lại có thể là Server trong một mô hình khác. Ví dụ cụ thể như một máy trạm làm việc như một Client bình thường trong mạng LAN nhưng đồng thời nó có thể đóng vai trò như một máy in chủ (printer Server) cung cấp dịch vụ in ấn từ xa cho nhiều người khác (Clients) sử dụng. Client được hiểu như là bề nổi của các dịch vụ trên mạng, nếu có thông tin vào hoặc ra thì chúng sẽ được hiển thị trên máy Client. * Server Được định nghĩa như là một máy tính nhiều người sử dụng (multiuser computer). Vì một Server phải quản lý nhiều yêu cầu từ các Client trên mạng cho nên nó hoạt động sẽ tốt hơn nếu hệ điều hành của nó là đa nhiệm với các tính năng hoạt động độc lập song song với nhau như hệ điều hành UNIX, WINDOWS... Server cung cấp và điều khiển các tiến trình truy cập vào tài nguyên của hệ thống. Các ứng dụng chạy trên Server phải được tách rời nhau để một lỗi của ứng dụng này không làm hỏng ứng dụng khác. Tính đa nhiệm đảm bảo một tiến trình không sử dụng toàn bộ tài nguyên hệ thống. Vai trò của Server : Như chúng ta đã bàn ở trên, Server như là một nhà cung cấp dịch vụ cho các Clients yêu cầu tới khi cần, các dịch vụ như cơ sở dữ liệu, in ấn, truyền file, hệ thống... Các ứng dụng Server cung cấp các dịch vụ mang tính 9 chức năng để hỗ trợ cho các hoạt động trên các máy Clients có hiệu quả hơn. Sự hỗ trợ của các dịch vụ này có thể là toàn bộ hoặc chỉ một phần thông qua IPC. Để đảm bảo tính an toàn trên mạng cho nên Server này còn có vai trò như là một nhà quản lý toàn bộ quyền truy cập dữ liệu của các máy Clients, nói cách khác đó là vai trò quản trị mạng. Có rất nhiều cách thức hiện nay nhằm quản trị có hiệu quả, một trong những cách đang được sử dụng đó là dùng tên Login và mật khẩu . II.2. Socket : II.2.1 Khái niệm về Socket : - Socket là một giao diện lập trình ứng dụng (API) mạng . - Socket : “Cửa” nằm giữa process của ứng dụng và end-end-transport protocol (TCP or UDP) . - Thông qua giao diện này chúng ta có thể lập trình điều khiển việc truyền thông giữa 2 máy với sử dụng giao thức mức thấp nhất là TCP /UDP , …. - Socket là sự trừu tượng hoá ở mức cao , có thể tưởng tượng nó là thiết bị truyền thông 2 chiều gửi – nhận dữ liệu giữa 2 máy tính với nhau . - Hoặc : “Một socket là một điểm cuối của thông tin hai chiều liên kết giữa hai chương trình đang chạy trên mạng. Những lớp socket được dùng để đại diện cho kết nối giữa một chương trình client và một chương trình server. Trong Java gói Java.net cung cấp hai lớp Socket và ServerSocket để thực hiện kết nối giữa client và server. ” - Thông thường thì server sẽ chạy trên một máy đặc biệt và có một socket giới hạn trong một Port number đặc biệt. 10 - Phía client: client được biết hostname của máy mà server đang chạy và port number mà server đang lắng nghe. Để tạo một yêu cầu kết nối client sẽ thử hẹn gặp server ở trên máy của server thông qua port number. Client cũng cần xác định chính nó với server thông qua local port number. Nếu mọi thứ tốt đẹp thì server sẽ đồng ý kết nối. khi đồng ý kết nối thì server sẽ tạo ra một socket mới để nói chuyện với client và cũng tạo ra một socket khác để tiếp tục lắng nghe. II.2.2. Đặc điểm và phân loại về Socket : • Phân loại Socket :  Socket hướng kết nối (TCP Socket)  Socket không hướng kết nối (UDP Socket) • - Đặc điểm của Socket hướng kết nối : (TCP Socket) Có một đường nối ảo giữa 2 tiến trình Một trong 2 tiến trình phải chờ tiến trình kia yêu cầu kết nối Có thể sử dụng để liên lạc theo mô hình Client/Server Trong mô hình Client/Server thì Server luôn lắng nghe và chấp nhận một yêu cầu kết nối . 11 • • Mỗi thông điệp gửi đi đều có xác nhận trở về Các gói tin chuyển đi tuần tự . Đặc điểm của Socket không hướng kết nối (UDP Socket) : Hai tiến trình liên lạc với nhau không kết nối trực tiếp Thông điệp gửi đi phải kèm theo địa chỉ của người nhận Thông điệp có thể gửi nhiều lần Người gửi không chắc chắn là thông điệp có đến tay người nhận Thông điệp gửi sau có thể đến đích trước thông điệp gửi trước đó . Số hiệu cổng Socket : Để thực hiện được các cuộc giao tiếp thì một trong hai quá trình phải công bố cổng của socket mà mình sử dụng . Mỗi cổng giao tiếp thể hiện một địa chỉ xác định trong hệ thống . Khi quá trình được gán một số hiệu cổng , nó có thể nhận dữ liệu gửi đến cổng này từ các quá trình khác . Quá trình còn lại cũng yêu cầu tạo ra một socket • Thiết kế giải thuật mô hình Client/Server : Giải thuật cho chương trình Client : - Xác định địa chỉ Server Tạo Socket Gửi /nhận dữ 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 chỉ Server Tạo Socket Kết nối đến Server Gửi /nhận dữ 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 Server : Chương trình Server có hai loại : Lặp (iterative) Đồng thời (concurrent) 12 • Hai dạng giao thức chương trình Server : - Giải thuật cho chương trình Server iterative ,connection-orienteted: Tạo socket , đăng ký địa chỉ socket với hệ thống Đặt socket ở trạng thái lắng nghe , chờ và sẵn sàng cho việc kết nối từ phía Client Chấp nhận kết nối từ phía Client , gửi và nhận dữ liệu theo lớp ứng dụng đã thiết kế . Đóng kết nối khi hoàn thành và trở lại trạng thái lắng nghe , chờ và sẵn sàng cho việc tạo kết nối từ phía Client . Giải thuật cho chương trình Server iterative , connectionless : Tạo và đăng ký socket với hệ thống Lặp công việc đọc dữ liệu từ Client gửi đến , xử lý và gửi trả kết quả cho Client theo đúng giao thức lớp ứng dụng đã thiết kế . Giải thuật cho chương trình concurents , connectionless server : Tạo socket và đăng ký với hệ thống Lặp việc nhận dữ liệu từ Client , đối với một dữ liệu nhận tạo mới một process để xử lý . Tiếp tục nhận dữ liệu mới từ Client . Công việc của một process mới : Nhận thông tin của process cha chuyển đến , lấy thông tin socket . Xử lý và gửi thông tin về cho Client theo giao thức lớp ứng dụng đã thiết kế . Kết thúc. - Giải thuật cho chương trình concurent , connection – orienteted server : 13 Tạo socket , đăng ký với hệ thống Đặt socket ở chế độ chờ , lắng nghe kết nối . Khi có request từ client , chấp nhận kết nối , tạo một process con để xử lý . Quay lại trạng thái chờ , lắng nghe kết nối mới . Công việc của một process mới bao gồm : Nhận thông tin kết nối của Client Giao tiếp với Client theo lớp ứng dụng đã thiết kế . Đóng kết nối và kết thúc process con. Mô hình một ứng dụng hoạt động theo giao thức TCP hoặc 14 • - Các bước xây dựng ứng dụng : Xây dựng chương trình Client – Các bước tổng quát : Mở một Socket kết nối đến Server đã biết IP(hay tên miền) và số hiệu cổng . Lấy Stream nhập và Stream xuất được gán với số hiệu cổng . Trao đổi dữ liệu với Server dựa vào các Stream nhập và Stream xuất . Tham khảo protocol của dịch vụ để định dạng đúng dữ liệu trao đổi với Server . - Đóng Socket trước khi kết thúc chương trình . Xây dựng chương trình Server phục vụ tuần tự - Các bước tổng quát . B1 – Tạo socket và gán số hiệu cổng cho Server . B2 – Lắng nghe yêu cầu kết nối B3 – Chấp nhận /từ chối yêu cầu kết nối của Client 15 B4 – Trường hợp chấp nhận B4.1 – Thiết lập kênh giao tiếp với Client (tạo một socket mới ) . B4.2 – Xử lý các công việc từ phía Client : B4.2.1 – Chờ nhận thông điệp yêu cầu từ phía Client . Nếu Client kết thúc  B4.3 B4.2.2 – Phân tích yêu cầu , xử lý yêu cầu . B4.2.3 – Tạo thông điệp trả lời B4.2.4 – Gửi thông điệp trả lời về Client – trở về B4.2.1 B4.3 – Đóng kênh giao tiếp (đóng socket) . Trở về B2 . 16 II.2.3. Socket trong Java : Các thao tác trên Socket : Đầu tiên chương trình phía server phải chạy và lắng nghe trên một cổng nào đó để chờ phía client kết nối tới, nếu kết nối thành công thì cả hai phía đều có hai thể hiện của lớp socket và dữ liệu sẽ được truyền qua hai lớp socket này. Thông thường trong một chương trình sẽ có các bước cơ bản sau: 1. Mở một socket. 2. Mở một input stream và output stream tới socket. 3. Đọc và viết tới stream thông qua giao thức của server. 4.Đóng Stream. 5.Đóng socket Xây dựng chương trình Client – Lớp java.net.socket Hỗ trợ các phương thức cần thiết để xây dựng chương trình Client sử dụng socket ở chế độ có kết nối . Socket (String Hostname , int PortNumber) Nối kết tới server có tên là Hostname và cổng là PortNumber . Hostname : Địa chỉ IP hoặc tên logic theo dạng tên miền . Portnumber : có giá trị từ 0 đến 65535 , thường thì ta dùng các giá trị lớn 1024 . các cổng nhỏ hơn 1024 thường là các cổng dùng cho các dịch vụ trong window . Các dịch vụ nổi tiếng . Ví dụ cổng 80 dùng cho http . Ví dụ kết nối đến Webserver khoa CNTT : Socket s = new Socket (“www.itf.edu.vn”,80). 17 Public InputStream getInputStream() : trả về Stream được nhập nó gắn với socket nhờ đó mà có thể trao đổi dữ liệu với server . Ví dụ InputStream in = s .getInputStream(); Xây dựng chương trình Server - Lớp java.net.socket Hỗ trợ các phương thức cần thiết để xây dựng ứng dụng server sử dụng socket ở chế độ có kết nối . Public ServerSocket(int PortNumber); Tạo một Socket với số hiệu cổng là PortNumber . Server tiếp đó lắng nghe các yêu cầu kết nối từ phía Client dựa trên PortNumber. Socket accept() : Server chấp nhận một yêu cầu kết nối từ phía Client , socket mới được tạo ra hình thành nên kênh giao tiếp ảo giữa server và client . Server lấy InputStream và OutputStream gán với socket để trao đổi với Client . 18 III. XÂY DỰNG CHƯƠNG TRÌNH TÌM HIỂU VÀ SỬ DỤNG KỸ THUẬT LẬP TRÌNH SOCKET XÂY DỰNG CHƯƠNG TRÌNH TƯ VẤN CHĂM SÓC SĂC ĐẸP 1. Môi trường triển khai − Chạy trên hệ điều hành : windows − Ngôn ngữ lập trình : Java (Kỹ thuật lập trình ứng dụng trong Java) − Bộ biên dịch : Netbean 2. Kết quả các chức năng của chương trình 1. Phía Server: Main: 19 - Tư vấn trực tuyến 20 + Trả lời thắc mắc − Phía Client: + Kết nối 21 + Tư vấn 22 + Giải đáp thắc mắc 23 IV. KẾT LUẬN 1. Những kết quả đạt được − Qua quá trình thực hiện xong đồ án Lập trình mạng này tuy chúng em đã rất cố gắng nhưng kiến thức , kinh nghiệm và thời gian hạn chế nên đồ án này của chúng em không tránh khỏi những thiếu sót . − Đồ án Lập trình mạng mục đích tổng hợp lại các kiến thức cơ bản về mạng máy tính, các kiến thức về lập trình ứng dụng , nắm được các cú pháp trong ngôn ngữ lập trình , tìm hiểu công nghệ . 2. Những tồn tại − Chương trình còn ít chức năng , các chức chưa được mở rộng . − Khả năng ứng dụng còn hạn chế . 3. Hướng phát triển − Xây dựng chương trình đồ sộ với nhiều chức năng , được mở rộng về nội dung và hình thức , chạy ổn định và thuận tiện hơn ở việc tìm kiếm thông tin . − Xây dựng kho dữ liệu thông tin đa dạng phù hợp với mọi lứa tuổi, đối tượng . 24 Tài liệu tham khảo [1] Trần Tiến Dũng, Giáo trình Lý thuyết và bài tập Java,1999 [2] H. M. Deitel, P. J. Deitel, Java How to Program 6th Edition, 2004 [3] Core Java [4] Hoàng Đức Hải, Nguyễn Phương Lan, Java Tập 2, 2004 [5] http://javavietnam.org 25 [...]... HIỂU VÀ SỬ DỤNG KỸ THUẬT LẬP TRÌNH SOCKET XÂY DỰNG CHƯƠNG TRÌNH TƯ VẤN CHĂM SÓC SĂC ĐẸP 1 Môi trường triển khai − Chạy trên hệ điều hành : windows − Ngôn ngữ lập trình : Java (Kỹ thuật lập trình ứng dụng trong Java) − Bộ biên dịch : Netbean 2 Kết quả các chức năng của chương trình 1 Phía Server: Main: 19 - Tư vấn trực tuyến 20 + Trả lời thắc mắc − Phía Client: + Kết nối 21 + Tư vấn 22 + Giải đáp thắc... các bước cơ bản sau: 1 Mở một socket 2 Mở một input stream và output stream tới socket 3 Đọc và viết tới stream thông qua giao thức của server 4.Đóng Stream 5.Đóng socket Xây dựng chương trình Client – Lớp java.net .socket Hỗ trợ các phương thức cần thiết để xây dựng chương trình Client sử dụng socket ở chế độ có kết nối Socket (String Hostname , int PortNumber) Nối kết tới server có tên là Hostname... khoa CNTT : Socket s = new Socket (“www.itf.edu.vn”,80) 17 Public InputStream getInputStream() : trả về Stream được nhập nó gắn với socket nhờ đó mà có thể trao đổi dữ liệu với server Ví dụ InputStream in = s getInputStream(); Xây dựng chương trình Server - Lớp java.net .socket Hỗ trợ các phương thức cần thiết để xây dựng ứng dụng server sử dụng socket ở chế độ có kết nối Public ServerSocket(int PortNumber);... Client/Server : Giải thuật cho chương trình Client : - Xác định địa chỉ Server Tạo Socket Gửi /nhận dữ 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 chỉ Server Tạo Socket Kết nối đến Server Gửi /nhận dữ 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 Server : Chương trình Server có hai loại : Lặp (iterative)... Socket với số hiệu cổng là PortNumber Server tiếp đó lắng nghe các yêu cầu kết nối từ phía Client dựa trên PortNumber Socket accept() : Server chấp nhận một yêu cầu kết nối từ phía Client , socket mới được tạo ra hình thành nên kênh giao tiếp ảo giữa server và client Server lấy InputStream và OutputStream gán với socket để trao đổi với Client 18 III XÂY DỰNG CHƯƠNG TRÌNH TÌM HIỂU VÀ SỬ DỤNG KỸ THUẬT... quá trình thực hiện xong đồ án Lập trình mạng này tuy chúng em đã rất cố gắng nhưng kiến thức , kinh nghiệm và thời gian hạn chế nên đồ án này của chúng em không tránh khỏi những thiếu sót − Đồ án Lập trình mạng mục đích tổng hợp lại các kiến thức cơ bản về mạng máy tính, các kiến thức về lập trình ứng dụng , nắm được các cú pháp trong ngôn ngữ lập trình , tìm hiểu công nghệ 2 Những tồn tại − Chương. .. thứ tốt đẹp thì server sẽ đồng ý kết nối khi đồng ý kết nối thì server sẽ tạo ra một socket mới để nói chuyện với client và cũng tạo ra một socket khác để tiếp tục lắng nghe II.2.2 Đặc điểm và phân loại về Socket : • Phân loại Socket :  Socket hướng kết nối (TCP Socket)  Socket không hướng kết nối (UDP Socket) • - Đặc điểm của Socket hướng kết nối : (TCP Socket) Có một đường nối ảo giữa 2 tiến trình. .. Socket : Để thực hiện được các cuộc giao tiếp thì một trong hai quá trình phải công bố cổng của socket mà mình sử dụng Mỗi cổng giao tiếp thể hiện một địa chỉ xác định trong hệ thống Khi quá trình được gán một số hiệu cổng , nó có thể nhận dữ liệu gửi đến cổng này từ các quá trình khác Quá trình còn lại cũng yêu cầu tạo ra một socket • Thiết kế giải thuật mô hình Client/Server : Giải thuật cho chương. .. tại − Chương trình còn ít chức năng , các chức chưa được mở rộng − Khả năng ứng dụng còn hạn chế 3 Hướng phát triển − Xây dựng chương trình đồ sộ với nhiều chức năng , được mở rộng về nội dung và hình thức , chạy ổn định và thuận tiện hơn ở việc tìm kiếm thông tin − Xây dựng kho dữ liệu thông tin đa dạng phù hợp với mọi lứa tuổi, đối tư ng 24 Tài liệu tham khảo [1] Trần Tiến Dũng, Giáo trình Lý thuyết... của một process mới bao gồm : Nhận thông tin kết nối của Client Giao tiếp với Client theo lớp ứng dụng đã thiết kế Đóng kết nối và kết thúc process con Mô hình một ứng dụng hoạt động theo giao thức TCP hoặc 14 • - Các bước xây dựng ứng dụng : Xây dựng chương trình Client – Các bước tổng quát : Mở một Socket kết nối đến Server đã biết IP(hay tên miền) và số hiệu cổng Lấy Stream nhập và Stream xuất ... 18 III XÂY DỰNG CHƯƠNG TRÌNH TÌM HIỂU VÀ SỬ DỤNG KỸ THUẬT LẬP TRÌNH SOCKET XÂY DỰNG CHƯƠNG TRÌNH TƯ VẤN CHĂM SÓC SĂC ĐẸP Môi trường triển khai − Chạy hệ điều hành : windows − Ngôn ngữ lập trình. .. không nằm mục đích Trong môn này, ứng dụng Client-Server quan trọng Đề tài: Tìm hiểu sử dụng kỹ thuật lập trình Socket xây dựng chương trình tư vấn chăm sóc sắc đẹp thực theo mô hình Client-Server... tài : - Chương trình tập trung theo mảng thông tin làm đẹp, điều cần biết chăm sóc sắc đẹp - Về phía ứng dụng xây dựng dựa mô hình Client / Server sử dụng lập trình Socket Ứng dụng xây dựng gồm

Ngày đăng: 17/10/2015, 11:32

Từ khóa liên quan

Mục lục

  • LỜI MỞ ĐẦU

  • NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

  • I. GIỚI THIỆU CHUNG

  • 1. Tổng quan về đề tài:

  • 1.1. Giới thiệu đề tài :

  • 1.2. Mục đích :

  • LẬP TRÌNH SOCKET TRONG JAVA

  • II.1. Mô hình Client – Server

  • II.1.1. Khái niệm :

  • II.1.2 Nguyên lý

  • II.2. Socket :

  • II.2.1 Khái niệm về Socket :

  • II.2.2. Đặc điểm và phân loại về Socket :

  • II.2.3. Socket trong Java :

  • Các thao tác trên Socket :

  • 1. Môi trường triển khai

  • 2. Kết quả các chức năng của chương trình

  • IV. KẾT LUẬN

  • 1. Những kết quả đạt được

  • 2. Những tồn tại

  • 3. Hướng phát triển

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

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

Tài liệu liên quan