Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 105 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
105
Dung lượng
1 MB
Nội dung
Đồ án tốt nghiệp Mục lục Mục lục Mục lục Các thuật ngữ dùng đồ án Phần Thiết kế Web site 11 Phần giới thiệu 12 Chơng Các khái niệm .14 I Một trang Web gì? .14 II Một trang Home Page gì? 15 III.Một Web site gì? .16 IV Ngôn ngữ HTML 18 V Các Script gì? 18 VI Trình duyệt Web (Web Browser) 20 VII Các URL (Uniform Resource Locator) .20 Khoa điện tử - Viễn thông- ĐHBKHN Trang Đồ án tốt nghiệp Chơng Mục lục Các công cụ cần có 22 I Phía Server 22 I.1 Netscape Server 22 I.2 Internet Information Server Web Server 24 II Phía client .24 II.1 Netscape Navigator .24 II.2 Trình duyệt Web Microsoft Internet Explorer 28 III Phần mềm soạn trang Web 29 Chơng Thiết kế Web site 30 Lời giới thiệu .30 Các yếu tố mục đích việc thiết kế Web site 33 I Cấu trúc trang Web 34 II Liên kết trang lại với 35 III Các phơng pháp thiết kế Web site 38 III.1 Phơng pháp từ xuống dới .38 III.2 Phơng pháp thiết kế từ dới lên 38 III.3 Phơng pháp thiết kế lớn dần/khi cần thiết .39 IV Các kỹ thuật thiết kế 39 IV.1 Tổ chức thông tin thành nhóm có kích thớc hợp lý .40 V Các vấn đề thiết kế Web site 40 V.1 Trang đến từ bên (page from outer space) 41 V.2 Trang Web khổng lồ (Monster Page) .42 V.3 Dùng công cụ đa phơng tiện mức cần thiết 43 V.4 Trang Web cấu trúc .43 V.5 Các liên kết vô nghĩa .44 Chơng Các ứng dụng Web 45 I Web với thơng mại 45 I.1 Quảng cáo Web .45 I.2 Mua bán hàng hoá Web 45 I.3 Thanh toán mở tài khoản với ngân hàng qua Web .46 II Web với vui chơi giải trí nghệ thuật .46 III Web với giáo dục nghiên cứu 46 III.1 Web thúc đẩy học sinh học tập tốt 46 III.2 Các trờng học Web 46 IV Web với khoa học công nghệ 46 Phần Giới thiệu Java sở liệu 47 Khoa điện tử - Viễn thông- ĐHBKHN Trang Đồ án tốt nghiệp Mục lục Giới thiệu Java truy cập vào sở liệu .48 Các Java Enterprise API 49 JDBC 50 Sự áp dụng JDBC 52 Giới thiệu cụ thể class JDBC 55 java.sql.DriverManager 57 java.sql.Driver 58 java.sql.Connection 59 java.sql.Statement 61 java.sql.PreparedStatement 61 java.sql.CallableSatement 61 java.sql.ResultSet 61 MetaData 64 Java RMI xếp đối tợng (Object Serialization) 65 Java IDL 67 Nhà cung cấp/ Các giải pháp thành viên thứ ba .68 Oracle 68 Cấu trúc Web Server Oracle 68 Java cartridge 69 Các class Java riêng Oracle 69 Visigenic 70 Visigenic OpenChannel Client cho Java .70 Trình giao tiếp JDBC ODBC Visigenic 71 Tơng lai 71 phần Xây dựng dịch vụ hội nghị từ xa Web 73 Phần giới thiệu 74 I Mục đích thiết kế 74 II Cơ sở lý thuyết công cụ để thiết kế 75 II.1 Giới thiệu giao thức IRC 75 II.1.1 Các máy chủ (servers) 75 II.1.2 Các máy khách (clients) 76 II.1.1.1 Ngời điều hành (operator) 76 II.1.3 Các kênh (Channels) 77 II.1.3.1 Ngời điều hành kênh 78 II.2 Các đặc điểm kỹ thuật IRC 78 II.2.1 Tổng quan 78 II.2.2 Các mã ký tự 79 II.2.3 Các thông điệp IRC (IRC messages) 79 Khoa điện tử - Viễn thông- ĐHBKHN Trang Đồ án tốt nghiệp Mục lục II.4 Giới thiệu công cụ thiết kế dịch vụ hội nghị từ xa Web 80 II.4.1 Java hỗ trợ chế đa luồng (Multi-threads) .80 II.4.1.1 Giới thiệu Thread 80 II.4.1.2 Thread làm việc sao? 81 Tạo chạy Thread 81 Các phơng thức điều khiển Thread .82 Chu trình thread 83 Độ u tiên lập lịch (Priorities and Scheduling) .85 Các thread chạy ngầm 87 II.4.2 Java cho phép tạo ứng dụng môi trờng client/server 87 Viết ứng dụng phía server Java dùng ServerSocket .91 Xây dựng ứng dụng phía client dùng Java 93 Xây dựng ứng dụng phía client cấp thấp dùng giao thức UDP 93 Xây dựng ứng dụng phía client dùng giao thức TCP .94 Kết luận 95 III Nội dung thiết kế 96 III.1 Đặt vấn đề 96 III.2 Lu đồ thuật toán 97 III.2.1 Sơ đồ khối khối .97 II.2.2 Lu đồ thuật toán khối 97 II.2.2.1 Khối nhận thông điệp từ Server .97 II.2.2.2 Khối phân tích xử lý thông điệp từ hàng đợi 99 II.2.2.3 Khối giao tiếp với nhận thông điệp ngời sử dụng 100 III.3 Hớng dẫn sử dụng chơng trình .101 IV Hớng phát triển hạn chế .103 IV.1 Hạn chế 103 IV.2 Hớng phát triển 103 Tài liệu tham khảo 105 Khoa điện tử - Viễn thông- ĐHBKHN Trang Đồ án tốt nghiệp Mục lục Các thuật ngữ dùng đồ án Thuật ngữ Mô tả Active X Là phần mềm có liên quan đến công nghệ Internet mà đợc dùng để mở rộng khả ứng dụng nội dung Internet API Giao diện lập trình ứng dụng; cung cấp tập chức cho nhà phát triển phần mềm dùng để thực nhiệm vụ cụ thể authentication Là trình mà máy tính phê chuẩn định danh ngời sử dụng máy tính khác mà truy cập vào số tập tin máy tính Authentication thờng đợc thực qua trình kiểm tra tên ngời sử dụng mật tơng ứng với ngời sử dụng backbone Là mạng với tốc độ cao, dải động lớn để nối mạng cục máy tính riêng biệt khoảng cách dài backdoor Là mật bí mật phơng thức chung không xác định để truy cập đến hệ thống máy tính bỏ qua việc kiểm tra an ninh back up Đó trình ngời sử dụng cất liệu quan trọng từ đĩa cứng ngời sử dụng sang công cụ chứa liệu (chẳng hạn nh đĩa mềm ổ cứng khác) bandwidth Trong khái niệm lĩnh vực máy tính, lợng liệu đợc truyền kết nối mạng khoảng thời gian baud Là số mức chuyển tiếp giây thiết bị truyền thông (chẳng hạn nh MODEM) Thông thờng đợc dùng nh từ đồng nghĩa với từ bps (Số bit truyền đợc giây) bps Số bit giây; để truyền liệu đờng truyền thông mạng CGI Giao diện cổng vào thông dụng; phơng thức cho phép Web Server giao tiếp với ứng dụng khác Khoa điện tử - Viễn thông- ĐHBKHN Trang Đồ án tốt nghiệp Mục lục server class Là mô tả loại đối tợng xác định ngôn ngữ lập trình hớng đối tợng, bao gồm lệnh riêng class client Là máy tính dùng tài nguyên đợc cung cấp máy tính khác (hay đợc máy tính khác phục vụ) client/server technology Là phơng thức để thực nhiệm vụ chia nhỏ chức nhiều máy tính khác client-side extention M ã để giúp cho trình Internet browser máy client có thêm chức dial-up networking Cho phép máy tính xa dùng MODEM để truy cập đến mạng cục nh máy tính truy cập vào mạng thông qua máy tính đợc nối trực tiếp với mạng DNS Hệ thống tên vùng; dịch vụ Internet để chuyển đổi từ tên máy chủ (tên dạng văn dễ nhớ) thông th ờng thành địa IP dới dạng số mà máy tính hiểu đợc Các sở liệu DNS sở liệu phân tán điều có nghĩa sở liệu đợc đặt server khác toàn mạng Internet domain Trong thuật ngữ Windows NT server, nhóm logic máy tính tất chạy Windows NT Một Internet domain hoàn toàn khác với Windows NT domain, chúng đợc đặt cho nhóm máy tính domain name Trong giới Internet, tên mà đợc dùng cho nhóm máy tính phần tổ chức đây, máy tính không thiết phải mạng e-mail Th tín điện tử, cho phép ngời trao đổi thông điệp tới ngời sử dụng truy cập vào dịch vụ encryption Một trình dùng phép trình truyền liệu mạng an toàn cách làm cho liệu đợc truyền mạng đợc đặt chế độ đọc đợc (ureadable) Ethernet Là công nghệ thờng đợc dùng để kết nối mạng LAN với FTP Dịch vụ truyền tập tin, cho phép máy tình nạp máy phần mềm trền FTP server nạp lên Khoa điện tử - Viễn thông- ĐHBKHN Trang Đồ án tốt nghiệp Mục lục mạng phần mềm máy firewall Đó thiết bị để ngăn cách mạng với mạng khác frame relay Là dịch vụ truyền thông có công ty điện thoại cho phép kết nối với tốc độ cao máy tính Gopher Là dịch vụ dựa văn bản, cho phép làm việc với tài liệu Internet HTML Là ngôn ngữ để viết trang Web HTTP Là giao thức truyền siêu văn bản, đợc dùng để truyền tập tin HTML từ server đến client IDC Kết nối sở liệu Internet; hệ thống đợc dùng phép trang Web truy cập vào sở liệu Internet IIS Là phần mềm server bao gồm: Web server, FTP server Gopher server đợc thiết kế để sử dụng thuận (điểm mạnh) lợi Windows NT server Internet address Địa IP địa đặc trng 32 bit đợc ấn định cho máy Internet Nếu nh máy Internet không đợc ấn định địa IP theo hệ thống truyền liệu Internet đợc IPP Là tổ chức cho phép kết hợp dịch vụ Internet, chẳng hạn nh Web site hosting, phân tích tên vùng, tạo nội dung dịch vụ có liên quan đến Internet trừ dịch vụ dial-up truy cập vào Internet ISP Là tổ chức cho phép truy cập vào Internet thông qua dịch vụ dial-up networking cho khách hàng dịch vụ khác mà đợc nhà cung cấp dịch vụ Internet cung cấp InterNIC Là tổ chức quản lý địa IP tên vùng cho tổ chức phủ, quân sự, tổ chức khác, tổ chức mạng, tổ chức giáo dục tổ chức thơng mại interoperability Là khả phần mềm phần cứng cho phép giao tiếp máy tính có platform khác từ nhà cung cấp khác IRC Là hệ thống hội nghị mang tính toàn cầu cho phép ngời sử dụng Internet có hội thoại thời gian thực Internet Khoa điện tử - Viễn thông- ĐHBKHN Trang Đồ án tốt nghiệp Mục lục ISAPI Là Internet server API; cung cấp cho nhà phát triển phần mềm phơng thức để mở rộng chức hệ thống IIS cách dùng phần mềm họ ISDN Các dịch vụ tập trung mạng số; đờng điện thoại với tốc độ cao mà dùng cho dịch vụ dial-up networking Java Là ngôn ngữ script đợc dùng để nâng cao chức máy tính server nh client LAN Là mạng cục bộ; mạng với tốc độ cao mà giới hạn khu vực địa lý định leased line Là đờng tốc độ cao đợc giàng riêng để nối trực tiếp hai địa điểm modem Là thiết bị dùng để kết nối máy tính với mạng điện thoại cho phép truyền liệu qua mạng đối tợng name resolution Là trình để hớng tên tới địa tơng ứng Đặc biệt mạng Internet, name revolution tam chiếu đến DNS, tên vùng đợc khớp với địa IP tơng ứng newsgroups Là một thảo luận cụ thể hệ thống NNTP NNTP Giao thức NNTP cho phép client tah gia vào thảo luận thảo luận công cộng tuơng tự nh hệ thống phát tin ODBC Cơ sở liệu kết nối mở; cho phép giao tiếp thông dụng để truy cập đến sở liệu khác package Là nhóm lớp (class) packet Là đơn vị liệu đợc truyền đờng truyền liệu PCT Công nghệ truyền thông riêng ; phiên nâng cao công nghệ SSL Nó cho phép độ bảo mật cao chuẩn SSL đ ã đợc phủ Mĩ đa PERL Là ngôn ngữ lập trình cho phép nâng cao đợc tính client hay server Ping Là chơng trình truyền gói tin đến máy tính xa để xác định vấn đề giao tiếp hai máy xác đinh khoảng thời gian truyền gói đến nhận platform Khoa điện tử - Viễn thông- ĐHBKHN Trang Đồ án tốt nghiệp Mục lục protocol Là tậo quy định định dạng cho việc truyền liệu, chp phép máy tính trao đối thông tin PPP Là giao thức Điểm-Điểm; cung cấp phơng tiện có hiệu phép máy tính kết nối đến mạng dùng nhiều giao thức từ xa RAS Dịch vụ truy cập từ xa router Là phần mềm máy chuyên dụng để kết nối hai hay nhiều mạng dẫn thông tin từ mạng đến mạng khác Các router định đờng gói tin Internet để gói tin đến đợc nơi nhận Các router Internet thờng gateway IP scripting Dùng ngôn ngữ lập trình để mở rộng c ã c chức mộy máy tính client hay server SCSI Là hệ thống máy tính giao tiếp nhỏ; cấu trúc với tốc độ cao để kết nối thiết bị ngoại vi với máy tính search engine Là hệ thống cho phép ngời sử dụng tìm đợc tài nguyên cụ thể mạng dựa tiêu chẩn mà ngời sử dụng đa vào serial port Cho phép giao tiếp với tốc độ thấp (mỗi lần bit) để kết nối thiết bị ngoại vi với máy tính server Là máy tính mà ngời sử dụng truy cập vào thông qua mạng, máy tính có chứa tài nguyên để phục vụ cho ngời sử dụng server extension Một script ứng dụng mà mở rộng khả server SLIP Giao thức Internet đờng truyền nối tiếp; phơng thức cũ phép máy tính xa truy cập vào mạng dùng giao thức IP Hiện SLIP đợc thay PPP subnet mask Đợc TCP/IP dùng để điều khiển gói tin l thông mạng để đến nơi nhận chúng Subnet mask đợc dùng để xác định xem địa nhận gói tin dó hay mạng cục T1 connection Là dịch vụ giao tiếp cho phép kết nối với tốc độ cao hai điểm Tốc độ kết nối 1.5 Mbps (tức 1.5 mega bit giây) T3 connection Là dịch vụ với tốc độ cao nay, cho phép kết nối Khoa điện tử - Viễn thông- ĐHBKHN Trang Đồ án tốt nghiệp Mục lục với tốc độ 45 Mbps TCP/IP Là giao thức Internet làm việc kết hợp với cho phép liệu đợc truyền Internet Telnet Là giao thức mà ứng dụng dùng để truy cập đến máy tính xa dùng giao thức TCP/IP Một phiên làm việc Telnet cho phép ngời sử dụng đa lệnh máy tính xa máy tính ngời sử dụng máy tính địa phơng Telnet dùng giao tiếp kiểu dòng lệnh, giao tiếp đồ hoạ UNIX Đợc công ty X/Open đa UNIX để hệ điều hành thông dụng virtual directory Là trỏ trỏ đến th mục vật lý cho phép IIS dùng đến th mục vật lý mổ vị trí khác virtual server Một phơng thức qua Web server nh nhiều Web server WAN Mạng diện rộng Web browser Là phần mềm đợc dùng máy client để xem tài nguyên Internet Webmaster Là ngời chịu trách nhiệm bảo dỡng Web server WWW Là toàn server tạo nên nội dung dịch vụ Web Internet Khoa điện tử - Viễn thông- ĐHBKHN Trang 10 Đồ án tốt nghiệp Giới thiệu Java sở liệu mạng gói tin 64K, nhng cho phép ấn định địa cổng Trên thực tế, máy có hai tập 65535 cổng giao tiếp với máy khác tập cho TCP tập cho UDP Viết ứng dụng phía server Java dùng ServerSocket Cho đến nay,sự tập trung lệch phía client ứng dụng client/server, kể từ nhà phát triển Java nhìn giới phối cảch Nếu nh bạn cần viết phần mềm phía server (không phải phía client) phần phần đề cập đến vấn đề Gói (package) java.net chứa toàn thứ bạn cần để viết hệ thống server dùng ServerSocket Java: public final class ServerSocket extends Object{ public ServerSocket(int port) throws IOException; public ServerSocket(int port, int count) throws IOException; public InetAddress getInetAddress(); public int getLocalPort(); public Socket accept() throws IOException; public void close() throws IOException; public String toString(); public static synchronized void setSocketFactory(SocketImplFactory fac) throws IOException; } Hàm dựng (constructor) thứ toàn bạn cần để tạo socket máy bạn để nghe ngóng chấp nhận kết nối đến từ client toàn mạng Tham số số hiệu cổng xác định cổng server bạn nghe ngóng kết nối đến từ client toàn mạng Nếu nh bạn muốn viết phần mềm server chuẩn nh SMTP FTP server, bạn phải dùng cổng chuẩn cho dịch vụ đợc cho bảng Nếu bạn muốn tạo dịch vụ Internet hoàn toàn bạn phải dùng số hiệu cổng mà cha có dịch vụ chuẩn Internet dùng đến Vì số hiệu cổng từ đến 65535 có nhiều lựa chọn để bạn xây dựng ứng dụng Internet riêng bạn Trong khoảng từ đến 1023 số hiệu cổng đợc dùng cho giao thức chuẩn Internet Còn lại từ 1024 đến 65535 số hiệu cổng để giành riêng cho cổng client Một số hệ thống dùng miền giá trị từ 32768 trở cổng tạm thời (ephemeral), đo tốt nên tránh dùng khoảng Để dùng vào mục đích thử nghiệm kiểm tra cổng số 8001 cổng hay đợc dùng cổng từ 8-16K từ 48-64K dùng tốt Đồ án tốt nghiệp Giới thiệu Java sở liệu mạng Khi mà đối tợng ServerSocket đợc tạo cha nghe ngóng kết nối client Nó thực bắt đầu nghe ngóng kế nối client mà bạn gọi đến phơng thức accept() đối tợng ServerSocket Để mô tả điều này, bạn phát triển phần mềm server đơn giản mà làm việc nh server thực (server làm nhiệm vụ nh sau: có client kết nối đến cổng gửi thông báo khởi tạo chào mừng đến client sau đợi lệnh client gửi đến) Để đơn giản, xây dựng hai lệnh lệnh "HELP" lệnh "QUIT" Sau toàn chơng trình thực chức trên: import java.util.*; // Khai báo gói dùng import java.io.*; // chơng trình import java.net.*; public class ServerTest { final static int SERVER_PORT = 8001; //Cổng server dùng public static void main(String[] args){ Server server; String clientRequest; boolean quit = false; server = neww Server(SERVER_PORT); while( !quit){ try{ // Xem client lệnh cho Server clientRequest = server.in.readLine(); // Nếu lệnh hợp lệ if (clientRequest.startsWith("HELP")){ server.out.println("HELP, QUIT"); }else if (clientRequest.startsWith("QUIT")){ quit = true; }else { server.out.println("Lệnh sai!"); } System.out.println("Client nói rằng: "+clientRequest); }catch (IOExeception e){ System.out.println(" Có lỗi: "+e); } }// Kết thúc vòng lặp while }// Kết thúc phơng thức main() }// Kết thúc class ServerTest //================================================================== //=========== class Server đợc viết nh sau ============================== //================================================================== class Server { Đồ án tốt nghiệp Giới thiệu Java sở liệu mạng private ServerSocket server; private Socket socket; public DataInputStream in; public PrintStream out; public Server(int port) { try{ server = new ServerSocket(port); // Tạo server với cổng là: port // Chờ client kết nối đến cổng vừa tạo socket = server.accept(); // Tạo stream vào liệu in = new DataInputStream(socket.getInputStream()); out = new PrintStream(socket.getOutputStream()); }catch (IOException e){ System.out.println(" Có lỗi: "+e); } }// Kết thúc phơng thức Server() }//Kết thúc class Server Trên toàn chơng trình để tạo phần mềm server thực chức sau: Khi có client kết nối vào gửi dòng chào mừng đến client sau chờ lệnh từ phía client Nếu lệnh hai lệnh: HELP QUIT đáp ứng lệnh Nếu lệnh không thuộc hai lệnh gửi thông bào lỗi không hiểu lệnh đến client Nếu client gửi lệnh QUIT server đóng kết nối với client kết thúc chơng trình Nh bạn thấy, việc tạo ứng dụng môi trờng client/server Java điều đơn giản, điều mà bạn lúc thực đợc ngôn ngữ lập trình khác Xây dựng ứng dụng phía client dùng Java Xây dựng ứng dụng phía client cấp thấp dùng giao thức UDP Một gói tin UDP đợc biểu ví dụ lớp DatagramPacket: public final class DatagramPacket extends Object { Đồ án tốt nghiệp Giới thiệu Java sở liệu mạng public DatagramPacket(byte ibuf[], int ilength); public DatagramPacket(byte ibuf[], int ilength, InetAddress iaddr, int iport); public InetAddress getAddress(); int getPort(); public byte[] getData(); public int getLength(); } Lớp DatagramPacket cung cấp hai hàm dựng (constructor); hàm dựng thứ đợc dùng để nhận gói tin, hàm dựng thứ hai đợc dùng để truyền khung tin Với hai hàm dựng này, bạn cần phải định nghĩa đệm byte chiều dài (mảng ibuf lớn ilength nhng lại nhỏ hơn) Ngoài ra, hàm dựng thứ hai cần đến địa máy nhận số hiệu cổng cho gói tin Nh bạn thấy, lớp không cho bạn phơng tiện thực để truyền nhận gói tin; mà chức lớp kèm đảm nhiệm, lớp DatagramSocket: public class DatagramSocket extends Object { public DatagramSocket() throws SocketException; public DatagramSocket(int port) throws SocketException; public void send(DatagramPacket p) throws IOException; public synchronized void receive(DatagramPacket p) throws IOException; public int getLocalPort(); public synchronized void close(); protected synchronized void finalize(); } Các phơng thức đáng ý là: send() receive() Phơng thức send() đơn làm nhiệm vụ lấy DatagramPacket thể nghiệm gửi đến máy địa cổng đợc định nghĩa trớc Phơng thức receive() lấy DatagramPacket thể nghiệm, nhng lần nơi nhận gói tin đợc nhận Bạn trích lấy phần liệu từ gói tin nhận đợc cách dùng phơng thức getData() lớp DatagramPacket Xây dựng ứng dụng phía client dùng giao thức TCP Việc viết chơng trình phía client dùng TCP tơng tự nh dùng UDP, ngoại trừ việc không dựa lớp để đóng gói gói tin TCP Đây điều mong đợi lẽ TCP giao thức dòng (stream): cho phép bạn gửi khối lợng không hạn chế liệu Do lớp chủ chốt lớp Socket: public final class Socket extends Object { public Socket(String host, int port) throws UnkownHostException, IOException; Đồ án tốt nghiệp Giới thiệu Java sở liệu mạng public Socket(String host, int port, boolean stream) throws IOException; public Socket(InetAddress address, int port) throws IOException; public InetAddress getInetAddress(); public int getPort(); public int getLocalPort(); public InputStream getInputStream() throws IOException; public OutputStream getOutputStream() throws IOException; public synchronized void close() throws IOException; public String toString(); public static synchronized void setSocketImplFactory(SocketImplFactory fac) throws IOException; } Để dùng đợc lớp này, bạn phải tìm hiểu hàm dựng lớp hai phơng thức truy cập dòng liệu (stream) Nếu bạn nhìn vào cặp hàm dựng thứ hai, bạn nhận thấy cặp hàm dựng cần phải có thể nghiệm đối tợng InetAddress để xác định máy nhận mà bạn muốn kết nối đến Nếu nh lớp hỗ trợ IP, tất cần, nhng lại lớp hỗ trợ TCP cặp hàm dựng cần phải có địa cổng máy xa Khi bạn dùng lớp để xây dựng ứng dụng bạn tự định nghĩa lấy địa cổng mà bạn phải tuân theo địa cổng ứng dụng phía server mà bạn muốn chơng trình bạn kết nối đến Các cổng hay đợc dùng dịch vụ thông dụng bảng Tất kết nối TCP thực tế liên quan đến hai cổng: cổng máy tính xa cổng máy địa phơng Bạn xác định cổng máy tính địa phơng bạn không cần làm điều Các phần mềm TCP/IP tự động làm điều Các cổng đợc gọi cổng tự động chúng tồn phiên làm việc, cổng phía server tồn suốt qúa trình server chạy Kết luận Java hỗ trợ khả lập trình mạng thông qua nhiều lớp, làm việc với phần mềm giao thức truyền thông thuộc họ giao thức TCP/IP Lớp chủ chốt gói java.net lớp Socket với lớp InetAddress để thêm máy tính, cho phép bạn viết chơng trình client mà kết nối vào server Internet Các kết nối đợc thực thông qua cổng xác địng (đợc gọi cổng phổ biến phía server cổng tạm thời phía client) Bạn thấy hầu hết giao thức mức ứng dụng Internet giao thức ASCII giao thức dựa dòng Đây điểm thuận lợi việc phát triển, gỡ rối, giải vấn đề ngày giao thức, liên kết truyền liệu bị chặn Đồ án tốt nghiệp Giới thiệu Java sở liệu mạng đứng lại giải mã liệu truyền thông thạo giao thức Ví dụ, giao thức truyền siêu văn HTTP bị xem chộm giao thức đơn giản chẳng hạn nh Telnet III Nội dung thiết kế III.1 Đặt vấn đề Chơng trình hội nghị đợc thiết kế dựa công cụ Java, chơng trình Java applet có khả gắn vào trang Web điểm thuận tiện để xây dựng ứng dụng Web Chơng trình hội nghị từ xa phía client có nhiệm vụ nh sau: Thứ nhất: Nhận thông điệp từ phía server, phân tích xử lý thông điệp theo chuẩn giao thức IRC Thứ hai: Nhận thông điệp ngời sử dụng, phân tích gửi thông điệp đến server Một vấn đề cần đặt thông điệp mà server đa đến không tuân theo quy luật hết lẽ có nhiều client khác nối vào thông điệp mà server đa đến cho client nhiều lên ngợc lại Do phía client nhận đợc thông điệp, đem xử lý sau quay lại nhận thông điệp xảy trờng hợp client phải xử lý thông điệp trớc có nhiều thông điệp server đợc gửi đến nh xảy trờng hợp liệu bị Để giải vấn đề này, phía client phải có tiến trình làm nhiệm vụ đợi thông điệp đến từ server Mỗi nhận đợc thông điệp, tiến trình làm việc kiểm tra xem hàng đợi đầy cha, nh hàng đợi đầy báo lỗi, nh hàng đợi cha đầy đa thông điệp vào hàng đợi chờ đến lợt đợc xử lý nh toàn thông điệp đợc đa đến từ server không bị Tiến trình thứ hai mà phía client phải có tiến trình xử lý thông điệp, tiến trình làm việc kiểm tra xem hàng đợi có thông điệp để xử lý không, lấy xử lý, hết chờ đến có thông điệp để xử lý Một tiến trình phía client dó tiến trình giao tiếp với ngời sử dụng Tiến trình làm nhiệm tác vụ nh giao tiếp với ngời sử dụng, nhận thông điệp mà ngời sử dụng đa vào để phân tích gửi thông điệp đến server để server xử lý Đồ án tốt nghiệp Giới thiệu Java sở liệu mạng Với ba tiến trình hàng đợi có kích thớc tơng đối lớn phía client đáp ứng yêu cầu dịch vụ Trên nhiệm vụ đặt mà phía client phải làm trình thực phiên hội nghị Sau xin trình bày đến nội dung cụ thể thuật toán để xây dựng dịch vụ III.2 Lu đồ thuật toán III.2.1 Sơ đồ khối khối Với yêu cầu phía client đợc phân tích đề cập phần trên, sau xin trình bày khối chơng trình Bắt đầu Tiến trình nhận thông điệp từ máy chủ gửi đến Không Tiến trình giao tiếp với người sử dụng Tiến trình xử lý thông điệp hàng đợi Kết thúc ? Có Kết thúc Hình Sơ đồ khối khối chơng trình II.2.2 Lu đồ thuật toán khối II.2.2.1 Khối nhận thông điệp từ Server Nh đề cập trên, khối nhận thông điệp làm nhiệm vụ sau: Chờ thông điệp đến từ server Nếu có thông điệp đến trớc tiên kiểm tra xem có phải thông điệp kiểm tra đờng truyền server không (thông điệp Đồ án tốt nghiệp Giới thiệu Java sở liệu mạng kiểm tra xem kết nối có đợc trì không) đáp lại, thông điệp kiểm tra kết nối kiểm tra hàng đợi, hàng đợi cha đầy đa thông điệp vào hàng đợi, hàng đợi đầy thông báo lỗi Kiểm tra xem kết thúc cha Nếu cha kết thúc, quay trở lại bớc để chờ thông điệp Nếu kết thúc kết thúc tiến trình Lu đồ thuật toán cụ thể nh trang bên: Trong lu đồ thuật toán việc dừng tiến trình hoàn toàn tiến trình mẹ (là tiến trình gọi tiến trình này) thực Khi tiến trình gọi đến phơng thức stop() tiến trình phơng thức stop() làm cho biết logic phơng thức run() tiến trình lật trạng thái phơng thức run() kết thúc Trong thuật toán có nói bắt đầu bắtđến đầulệnh PING lệnh PONG Theo chuẩn IRC sau khoảng thời gian mà Server không nhận đợc tín hiệu từ phía client để xác định xem liệu đờng truyền (kết nối) server client có đợc trì không server gửi lệnh PING đến client, nh server sau gửi lệnh PING đến client chờ dữliệu liệuttừ tmáy máychủ chủ coi nh kết nối (đmà không nhận đợc trảchờ lời PONG phía client ờng truyền) đến client không tự động đống kết nối với client Điều có ích xảy trờng hợp yếu tố mà làm cho đờng truyền từ client đến server bị ngắt hay xấu C chẳng hạn nh khônglệnh có = kiểm tra server phục vụ client client bị ?ra khỏi mạng (vì yếu tố ngoại cảnh null gửi lệnh pong gửi lệnh pong tác động) nh làm choKhông hoạt động server tối u phục vụ thừa không cần thiết C lệnh = ping ? Không C hàng đợi đầy Không đưa đưadữ dữliệu liệuvào vàohàng hàngđợi đợi thông thôngbáo báolỗi lỗi C kt thúc ? Không kkttthúc thúc Đồ án tốt nghiệp Giới thiệu Java sở liệu mạng II.2.2.2 Khối phân tích xử lý thông điệp từ hàng đợi Nhiệm vụ khối phân tích xử lý thông điệp từ hàng đợi gồm: bắt bắtđầu đầu Kiểm tra xem hàng đợi có rỗng không Nếu không rỗng lấy thông điệp hàng đợi ra, phân tích xử lý Sau đó, kiểm tra xem có tín hiệu kết thúc cha, có kết thúc, không lại quay lại bớc Nếu hàng đợi rỗng thìhàng kiểmđợi tra xem đãC có tín hiệu kết thúc cha, có kết thúc, nếurỗng không? lại quay lại bớc Lu đồ thuật toán Không khối nh sau: lấy lấymột mộtlệnh lệnhtthàng hàngđợi đợi ra, phân t ch ra, phân tch vàxử xửll Không kt thúc ? C kk ttthúc thúc Đồ án tốt nghiệp Giới thiệu Java sở liệu mạng II.2.2.3 Khối giao tiếp với nhận thông điệp ngời sử dụng Nhiệm vụ khối nh sau: Nhận thông điệp ngời sử dụng Kiểm tra xem thông điệp có hợp lệ không, không hợp lệ thông báo lỗi qua lại bớc Nếu có hợp lệ kiểm tra xem thông điệp có phải lệnh thoát không Nếu lệnh thoát kết thúc chơng trình Nếu không xử lý thông điệp quay lại bớc Trong phần kết thúc đây, việc gửi lệnh thoát đến server tiến trình phải gọi phơng thức stop() hai tiến trình (đó tiến trình nhận thông điệp tiến trình xử lý thông điệp) Sau lu đồ thuật toán cụ thể: bắt bắtđầu đầu Đồ án tốt nghiệp Giới thiệu Java sở liệu mạng gọi gọiđđ nnhai haiti tinntrình trình con Nhận Nhậnlệnh lệnhcủa củangười ngườisử sử dụng dụng Không lệnh hợp lệ ? C phân phânttch chvà vàxử xửlllệnh lệnh Không kt thúc ? C kk III.3 Hớng dẫn sử dụng chơng trình ttthúc thúc Khi bạn chạy chơng trình cửa sổ yêu cầu bạn nhập tên mật xuất Bạn vào tên mật mà bạn đăng ký vào mạng, sau ấn nút vào hội thoại ấn ENTER Nếu bạn vào sai tên mật khẩu, bạn vào lại cách bấm nút huỷ bỏ làm lại bạn sửa tên mật bạn sau ấn ENTER bấm nút vào hội thoại Nếu nh bạn vào sai tên mật khẩu, bạn nhận đợc thông báo lỗi phía cuối bên dới hình Đồ án tốt nghiệp Giới thiệu Java sở liệu mạng Nếu bạn vào tên mật cửa sổ cửa sổ phần hội thoại bạn nhận đợc thông báo dới dòng thông báo bạn vào mạng với tên lóng Trên đây, vào mạng với tên lóng (nickname) AnhTuân Trên hình bạn thấy có phần sau: Các kênh hội thoại: Là bảng dang sách kênh đợc tạo mạng Khi bạn vào mạng có kênh đợc tạo sẵn, chủ đề thông dụng nh văn hoá xã hội, Những ngời mạng: Là danh sách tất ngời tham gia vào dịch vụ hội nghị từ xa Các thao tác: Là thao tác mà bạn thực đợc, gồm có: Đổi mật khẩu: Cho phép bạn đổi mật bạn Đổi tên lóng: Cho phép bạn đổi tên lóng (nickname) Trục xuất ngời sử dụng khỏi mạng: Thao tác giành riêng cho ngời điều hành hệ thống Điều để ngời điều hành hệ thống có có hành vi không đợc lấy làm lịch để đảm bảo tính sáng nói chuyện Nhắn tin cho ngời khác tham gia hội thoại: Cho phép bạn nhắn tin cho mà tham gia hội thoại Khi bạn nhắn tin cho có ngời xem đợc ngời khác tham gia hội thoại nhng xem đợc Tạo kênh mới: Cho phép bạn tạo kênh mà danh sách kênh cha có Bạn tạo kệnh kiểu công cộng (public), với loại kênh mạng vào nói chuyện đợc Nhng bạn tạo kênh hoàn toàn bí mật (secret) Đối với kênh bí mật bạn phải vào mật cho kênh kênh đợc tạo có ngời có mật kênh vào đợc (trừ ngời điều hành hệ thống) Đây điều thuận lợi bạn muốn nói chuyện riêng với mà không muốn ngời khác dịch vụ quấy nhiễu bạn Để làm điều đó, bạn tạo kênh bí mật sau nhắn tin báo cho ngời bạn muốn nói Đồ án tốt nghiệp Giới thiệu Java sở liệu mạng chuyện riêng cho họ biết tên kênh mật kênh Vào kênh có danh sách kênh: Chức cho phép bạn vào nói chuyện với ngời khác kênh đợc tạo Nếu nh kênh bạn muốn vào kênh công cộng bạn việc nháy đúp vào tên kênh sau ấn ENTER ấn nút thực lệnh vừa chọn bạn vào nói chuyện đợc Nếu nh kênh bạn muốn vào kênh bí mật (có mật khẩu) chơng trình nhắc bạn vào mật cho kênh Nếu bạn vào sai mật vào kênh đợc Phần nút thực gồm có hai nút thực lệnh vừa chọn để chơng trình thực lênh mà bạn vừa chọn Nút Thoát khỏi hội thoại để bạn thoát khỏi dịch vụ hội thoại Khi bạn vào kênh, có nút tơng ứng đợc lên tên nút tên kênh Bạn tham gia lúc tham gia hội thoại với kênh khác IV Hớng phát triển hạn chế IV.1 Hạn chế Do thời gian khả có hạn nên thời gian làm chơng trình có nhợc điểm tránh khỏi Do Java applet cha hỗ trợ công cụ mạnh để tạo giao diện nên chơng trình phần giao diện ngời sử dụng cha đợc thân thiện lắm, khó dùng Do thời gian có hạn nên chơng trình hội nghị cha có khả tham gia hội nghị với IRC Server khác Internet IV.2 Hớng phát triển Nh đề cập từ đầu phần này, ứng dụng đợc xây dựng dựa chuẩn IRC Cho nên tơng lai, chơng trình đợc phát triển phép hội nghị đợc tiến hành phạm vi toàn cầu Đây điểm mạnh IRC Bạn thử tởng tợng nh có đàm thoại từ Hà Nội sang NewYork (Mĩ) nh không Đồ án tốt nghiệp Giới thiệu Java sở liệu mạng dùng mô hình IRC tất client bên NewYork phải nối trực tiếp sang server Hà Nội nh làm cho cấu trúc đờng tín hiệu vào server Hà Nội phức tạp (bao nhiêu client phải có nhiêu đờng tín hiệu vào) nhng có server khác bên NewYork cần đờng tín hiệu nối từ server bên NewYork sang server bên Hà Nội tiến hành hội nghị hai bên cách thuận tiện Một thuận lợi ý nghĩa kinh tế Nếu nh client bên NewYork nối trực tiếp với server Hà Nội họ phải trả tiền điện thoại từ NewYork sang Hà Nội điểm chấp nhận đợc Nhng có mô hình IRC rõ ràng tất client bên NewYork phải trả tiền điện thoại từ nơi đặt máy client đến server NewYork (nội hạt Mĩ) có đờng dây từ Mĩ sang Việt Nam phải trả tiền đờng dài, điểm không phần quan trọng phát triển mạng Đồ án tốt nghiệp Xây dựng dịch vụ hội nghị từ xa Web dùng Java Tài liệu tham khảo Nhà xuất địa Tên sách New Riders, Số 103 phố 201 West, Indianapolis, Indiana 46290 Mĩ01 Intranet Web Development Ned Snell, Số 103 phố 201 West, Indianapolis, Indiana 46290 Mĩ02 Navigating the Internet with Windows 95 SAMS, Số 103 phố 201 West, Indianapolis, Indiana 46290 Mĩ03 The Internet UNLEASHED 04 Internet Server construction kit for Windows New Riders, Số 103 phố 201 West, Indianapolis, Indiana 46290 Mĩ05 Bulding a Windows NT Internet Server Bryan Pfaffenberger University of Virginia Charlottesville Virginia06 Netscape navigator surfing the Web ang Exploring the Internet sams.net, Số 103 phố 201 West, Indianapolis, Indiana 46290 Mĩ07 Teach yourself The Internet in a week, Second Edition sams.net, Số 103 phố 201 West, Indianapolis, Indiana 46290 Mĩ08 Guid to Java programming sams.net, Số 103 phố 201 West, Indianapolis, Indiana 46290 Mĩ09 Building an Internet with Windows NT sams.net, Số 103 phố 201 West, Indianapolis, Indiana 46290 Mĩ10 Teach yourself TCP/IP in 14 days TECH PUBLICATIONS PTE LTD, 10, Jalan Besar, #B1-39 SIm Lim Tower, Singapore 208787.11 Mastering Java Microsoft Press, Redmond, Washington 98052-6399.12 Build your own Web Site Jamsa Press, 2975 S Rainbow Blvt., Suit I Las Vegas, NV 89102 USA.13 1001 Programming Resources 14 The World Widh Web UNLEASHED, Second Edition sams.net, Số 201 phố 201 West, Indianapolis, Indiana 46290 Mĩ [...]... III.Một Web site là gì? Một Web site là một tập các trang Web đợc kết nối với nhau bằng các siêu liên kết (Hyperlink) do đó mỗi một trang đều liên quan đến các trang khác Sau đây tôi xin giới thiệu mô hình một Web site đơn giản: Trang Home Page rang Trang văn hoá Trang 1 Trang 2 Trang Kinh T Trang Khoa Học Trang 3 Trang 5 Trang 4 Trang 6 Trang Phần mm Trang 7 Trang 8 Hình 1.3 Giới thiệu mô hình một Web. .. dùng trang Web đó I Cấu trúc một trang Web Cấu trúc của một trang Web không tuân theo một chuẩn cố định nào đó mà bạn hoàn toàn có thể định ra đợc đó Nhng sau đây xin giới thiệu cấu trúc chung của một trang Web: Hình vẽ mô tả cấu trúc của một trang Web Thông tin Header của trang Web Thông tin v mục đch của trang Web Nội dung thông tin của trang Web Thông tin phần footer của trang Web Phần header của trang. .. với một ngời thiết kế Web thì họ hiểu các khái niệm về các phơng pháp thiết kế Web nêu trên cũng giống nh một ngời thiết kế phần mềm hiểu các khái niệm từ kỹ thuật phần mềm) Trong việc thiết các Web, không cần thiết là phải sử dụng một phơng pháp thiết kế trong xuốt quá trình thiết kế hoặc trong quá trình thực hiện, đặc biệt là quá trình thiết kế - cũng giống nh mọi quá trình trong việc dệt Web - có thể... thiệu một trang Web ví dụ (Hình 1.1): Hình 1.1 Giới thiệu một trang Web Trang Web trên đây đợc đọc bởi trình duyệt Web có tên là Netscape Navigator Bạn có thể thấy rằng trong một trang web có cả văn bản và các hình ảnh Đây chính là điểm mạnh của Web Trong trang Web trên đây, đoạn văn bản \IMAGES\BACKGRND\ chính là một siêu liên kết đến một trang Web khác II Một trang Home Page là gì? Một trang Web Home... Page là một trang Web đặc biệt, nó là một điểm vào của một Web site; thông thờng, nó là một trang Web giới thiệu về Web site của bạn Trang Home Page thờng là một trang chào đón bạn đến với Web site nào đó và chỉ ra các liên kết đến tất cả các trang Web cấp hai (tức là các trang ngay sau trang Home Page) có trong Web site đó Các trang Home Page tạo ra một ấn tợng đầu tiên với ngời sử dụng về Web site của... đích của việc thiết kế một Web site Thông qua quá trình thiết kế, bạn cần nắm đợc các thông tin sau: Đáp ứng đợc nhu cầu của ngời sử dụng Một Web site không phải thiết kế ra để thoả mãn sự cảm nhận của riêng của ngời thiết kế, các quy ớc của ngời thực hiện hay theo ý thích của ngời vạch kế hoạch Thay vào đó, Web site đợc thiết kế ra để phục vụ cho yêu cầu của độc giả mà nó đợc thiết kế Việc đáp ứng... việc thiết kế một Web site Quá trình thiết kế chỉ là một quá trình nhỏ trong các quá trình dệt Web Một Web site thành công đòi hỏi tất cả các quá trình trên và tất cả các yếu tố phải đợc tổ chức ăn khớp với nhau Trong phần này, chúng ta sẽ thấy việc thiết kế một Web site đợc thiết kế dựa trên các yếu tố đợc cung cấp bởi các quá trình khác trong quá trình dệt Web Hình vẽ dới đây mô tả quá trình thiết kế. .. header của trang Web Trong phần này bạn có thể đặt các thông tin nh tiêu đề của trang Web Phần mục đích của trang Web Trong phần này bạn đặt thông tin về mục đích của trang Web này Phần này rất quan trọng vì khi một ngời sử dụng nào đó vào một trang Web thì đầu tiên ngời sử dụng quan tâm đến là mục đích của trang Web họ đang xem Phần nội dung của trang Web Đây là phần chính của một trang Web, phần này... nhất giữa một trang Web và một trang văn bản in là độ dài của một trang Web không có giới hạn về mặt vật lý Hơn nữa, các trang Web còn có một khả năng rất mạnh mẽ đó là có khả năng liên kết trực tiếp đến một số các trang Web khác Điều này có nghĩa là bạn không phải xem các trang Web theo một quy định nào đó hoặc theo một kiểu hẹp nh khi bạn xem các cuốn sách, mà bạn có thể xem các trang Web hoàn toàn... của Web Ngời thiết kế cũng phải đa ra đợc kỹ thuật sắp xếp các thông tin (packaging information), liên kết các trang ra sao, các thông tin về chú thích và phải phân tích đợc một hay nhiều phơng pháp thiết kế một Web site Có các vấn đề rất thực tế có liên quan đến quá trình thiết kế chẳng hạn nh việc quyết định xem bạn sẽ đa bao nhiêu ảnh vào một trang Web Điều này là rất quan trọng trong khâu thiết kế ... thiệu mô hình Web site đơn giản: Trang Home Page rang Trang văn hoá Trang Trang Trang Kinh T Trang Khoa Học Trang Trang Trang Trang Trang Phần mm Trang Trang Hình 1.3 Giới thiệu mô hình Web site... Một trang Web Home Page trang Web đặc biệt, điểm vào Web site; thông thờng, trang Web giới thiệu Web site bạn Trang Home Page thờng trang chào đón bạn đến với Web site liên kết đến tất trang Web. .. chung trang Web: Hình vẽ mô tả cấu trúc trang Web Thông tin Header trang Web Thông tin v mục đch trang Web Nội dung thông tin trang Web Thông tin phần footer trang Web Phần header trang Web Trong