Ngồi những dịch vụ trên, còn có những dịch vụ chat rất thông dụng, và mỗi loại chat có một tính năng riêng nhưng đều có mục đích phục vụ giúp người sử dụng dễ sử dụng, tiện lợi, tinh tế….Các bạn có thể tham khảo địa chỉ của những trang web sau:
Http://saigon.vnn.vn Http://chatting.com. Http:// www.Infoseek.com Http:// www.alamak.com Http:// www.vietchat.com Http:// www.vietfun.com
TÓM TẮT CHƯƠNG III
Chat là tài nguyên được mọi người sử dụng trên Internet ưa chuộng nhất. Đây là tài nguyên rất lý thú, nó cho phép bạn thiết lập các cuộc đối thoại thông qua máy vi tính với người dùng khác trên Internet, hoặc trong một mạng Lan….
Ở chương này em tìm hiểu một số dịch vụ Chat thông dụng hiện nay, cùng một số công cụ khác khi tham gia vào dịch vụ trên mạng Internet:
- Hiện nay có hai loại Chat thông dụng là: Text Chat và Voice Chat.
- Dịch vụ Chat mIRC (Internet Relay Chat): loại này cho phép ta chat thông qua nhiều kênh(Channel). nếu bạn tham gia kênh cụ thể bạn sẽ thấy Nickname, nội dung của những người đang tham gia trên kênh đó đang gõ từ bàn phím của họ và ngược lại.
- Dịch vụ Yahoo!Messenger:Yahoo! Messenger cho phép bạn trao đổi nhanh chóng thông điệp tức thời với bạn bè trên Net, sử dụng dịch vụ Chat và truyền tập tin, nhận bảng thị giá chứng khốn, tin tức thời tiết, thể thao,….bước đầu tiên cho phép bạn download chương trình miễn phí.
- Dịch vụ AOL INSTANT MESSENGER(AIM): AIM hiện nay còn gọi là Netscape Instant Messenger (NIM) đang là dịch vụ trao đổi thông điệp tức thời và chat phổ biến nhất, bên cạnh Yahoo! Messenger. Đây là dịch vụ cho phép bạn giao tiếp, liên lạc với bạn bè theo cách giản tiện nhất. Những tính năng AIM gồm có:
+ Thiết lập danh sách bạn bè, gia đình, đồng nghiệp. + Gởi thông điệp tức thời.
+ Chat với bạn bè hoặc thành viên gia đình trong phòng chat riêng. + Gởi tập tin(văn bản, hình ảnh, âm thanh,…).
+ Chi phối số người được phép giao tiếp với bạn thông qua tính năng bảo vệ sự riêng tư. Bạn có thể cho phép bất cứ ai gởi thông điệp đến bạn, hoặc nhận thông điệp từ người cụ thể.
+ Tìm kiếm bạn bè theo địa chỉ E-mail,…
- Một số dịch vụ chat thông dụng khác: Ngồi những dịch vụ trên, còn có những dịch vụ chat rất thông dụng, và mỗi loại chat có một tính năng riêng nhưng đều có mục đích phục vụ giúp người sử dụng dễ sử dụng, tiện lợi, tinh tế….Các bạn có thể tham khảo thêm địa chỉ của những trang web sau:
Http://saigon.vnn.vn Http:// www.alamak.com Http:// www.vietchat.com Http://chatting.com.
Http:// www.vietfun.com Http:// www.Infoseek.com
- Xây dựng dịch vụ Chat của chương trình: Company Phoenix_Chat dùng cho một mạng lưới của một công ty hay một tổ chức nào đó. Ở đây chỉ dành cho những người trực thuộc công ty hay tổ chức đó đang sử dụng chương trình.
CCHƯƠNG HƯƠNG 44
GIỚI THIỆU NGÔN NGỮ LẬP
GIỚI THIỆU NGÔN NGỮ LẬP
TRÌNH JAVA.
I- Giới thiệu ngôn ngữ Java.
Java ngôn ngữ lập trình của Sun Microsystems, có một sức mạnh đầy ấn tượng và là chủ đề đang được tranh luận nhiều nhất hiện nay, Logo của Java- một tách cafe bốc khói, cùng các Applet Java đang tràn ngập khắp World Wide Web, và được các ngành công nghiệp chấp nhận với một tốc độ chưa từng có. Vậy thực ra Java là gì? Uy lực của chúng ra sao? Đó là tất cả những gì mình muốn nói cùng các bạn, trong quá trình làm thực tập tôi đã lượm lặt được.
Java được phát triển vào thập kỷ 1990, do nhà thiết kế là James Gosling, nhà lập trình triển khai phiên bản chương trình dịch là ông Arthur van Hoff.. Thoạt đầu người ta đặt tên cho ngôn ngữ này là "Oak", Java xuất phát từ một dự án nghiên cứu chứ không phải là một sản phẩm nhằm mục đích sinh lời, công ty Sun đã đồng ý đưa Java Development Kit (bộ công cụ phát triển Java, bao gồm chương trình dịch và hệ thống đáp ứng chạy chương trình) lên Internet miễn phí vào khoảng giữa năm 1995, chỉ trong vòng hai năm sau chúng đã gặt hái được nhiều thành tích lớn.
Hệ thống Java bao gồm một số cấu phần như sau:
Ngôn ngữ lập trình Java, Java Virtual Machine (Máy ảo Java, bộ thông dịch) Các thư viện phần mềm đi kèm hệ thống. Chương trình duyệt web HotJava hoặc chương trình duyệt web khác thích ứng với Java.
Với Java, bạn sẽ có dịp tiếp cận với một trong những sự phát triển kỳ thú nhất của ngành công nghiệp phần mềm.
Java phát triển nhanh chóng là nhờ Web. Nhưng trên thực tế, sức mạnh vốn có của Java không phải là ngôn ngữ lập trình cho Web. Những kỹ sư phần mềm tài năng của hãng Sun đã mang Java vào Web, đã giải quyết một cách tế nhị nhiều vấn đề quan trọng - phương pháp phát triển phần mềm mạng trên hầu hết các máy tính và hệ điều hành 32 bit.
II- Ưu điểm, nhược điểm và hoạt động của Java.
1- Ưu điểm của java là: được Sun mô tả như là một ngôn ngữ lập trình đơngiản, hướng đối tượng, kiểu - mạng, có thể biên dịch, mạnh, an tồn, độc lập với cấu trúc, giản, hướng đối tượng, kiểu - mạng, có thể biên dịch, mạnh, an tồn, độc lập với cấu trúc, dễ di chuyển, hiệu suất cao, đa luồng, và có tính động. Những điều đó không dễ giải thích. Vậy thì, cụ thể Java làm được gì?
Về cơ bản, nó giúp các nhà phát triển phần mềm thực hiện được những việc sau:
♦Thứ nhất: họ có thể xây dựng nên các applet Java, đó là những trình ứng dụng mini được phân phối qua Internet và chạy trong một trình duyệt Web hiểu Java. Các applet Java tăng cường cho trang Web khả năng tương tác phong phú hơn và tính đa phương tiện tốt hơn so với khi dùng HTML bình thường. Applet hoạt động giống như cung cách bạn đặt một trang web với các siêu văn bản trên một server và một máy khách (client) có thể tải trang đó xuống theo yêu cầu để xem các văn bản đã sắp đặt theo khuôn dạng. Tương tự, bạn viết và biên dịch một chương trình applet Java và đặt một tham chiếu URL hoặc HTML tới nó trong trang web. Khi một client duyệt qua trang web này, mã nhị phân của applet Java được tải xuống client đó cùng các tệp văn bản và đồ hoạ. chương trình duyệt chứa một JVM và nó sẽ thực hiện applet trên máy tính của client.
Trình biên dịch và những công cụ khác của Java
Mã byte đã được biên dịch
Hệ điều hành (Solaris, Linux, Windows95/NT, MacOS, OS/2)
Phần cứng máy tính (Sparc, Pentium, X86, Power PS,....) Hệ thống thực thi Java
Máy ảo Java
Java API Bức màn bí mật về Java Hệ nền chủ Java Ngôn ngữ lập trình java Những chương trình
♦Thứ hai: các nhà phát triển phần mềm có thể xây dựng các trình ứng dụng hồn chỉnh bằng Java, như bộ xử lý văn bản, bảng tính, hoặc bộ chương trình văn phòng tổng hợp (như Corel đang làm chẳng hạn). Ưu điểm của cách làm này là các trình ứng dụng chỉ cần viết một lần mà chạy được trên hầu hết mọi loại máy tính.
♦Thứ ba: Java đáp ứng không những tính dễ chuyển mang mà còn cả cách xử lý đồng nhất của chương trình trên các hệ thống khác nhau. Đầu tiên mã nguồn Java được biên dịch để sinh ra mã đối tượng gọi là bytecode, bytecode không phải là mã nhị phân của bất kỳ máy tính đang tồn tại thực tế nào mà đó là một loại mã máy kiến tạo, Bạn sẽ thực hiện một chương trình Java bằng cách chạy một chương trình khác gọi là Java Virtual Machine hay là JVM, JVM đọc chương trình bằng bytecode và thông dịch hoặc biên dịch nó ra theo hệ lệnh thực tế, JVM biến tất cả mọi nền phần cứng và phần mềm trở nên giống nhau dưới con mắt của chương trình Java. Chạy bytecode trên một JVM là lý do vì sao các phần mềm Java là "viết một lần, chạy khắp nơi"
♦Thứ tư: Việc quản lý bộ nhớ: So với ngôn ngữ C và C++, các chương trình Java được quản lý về bộ nhớ ở mức hệ thống và người lập trình không bao giờ phải lo lắng về chuyện đó. Thư viện thời gian chạy của Java sẽ giám sát các cấu trúc dữ liệu. Khi không còn một tham chiếu nào tới một cấu trúc dữ liệu thì nó không thể là đang được sử dụng vì chương trình không có cách gì để đọc hoặc ghi nó. Lúc đó nó sẽ là đối tượng của việc dọn dẹp bộ nhớ. Java hướng tới việc dọn dẹp bộ nhớ tự động. Việc dọn dẹp bộ nhớ tự động ảnh hưởng tới tính năng vì nó liên quan đến các quá trình khác chạy trong nền sau để giám sát việc sử dụng bộ nhớ. Tuy nhiên thực tế đã chỉ ra rằng, ở đây cũng có một sự cân nhắc đáng giá. Một hệ thống nhỏ thực hiện dọn dẹp bộ nhớ tự động đã dẫn tới sự cải thiện rất lớn thông qua việc gỡ bỏ một loạt các lỗi của các chương trình Java. Có thể so sánh, các chương trình C++ chịu trách nhiệm quản lý các đống (heap) bộ nhớ của riêng chúng do vậy chúng phải có mã dài hơn, mất nhiều thời gian gỡ rối hơn và các chương trình lớn thường dẫn tới các lỗi rất khó phát hiện và xử lý về việc dọn dẹp bộ nhớ.
- Java là một môi trường độc lập, đó là một lợi thế quan trọng cho phép Java hơn hẳn những ngôn ngữ khác, đặc biệt là cho những hệ thống cần làm việc trên nhiều môi trường khác nhau, Java là một môi trường độc lập ở cả trên nền hệ thống lẫn dưới mức thấp như hệ xử lý nhị phân. Nó có khả năng chuyển từ hệ thống máy tính này sang hệ thống máy tính khác không phụ thuộc vào cấu trúc của máy hay hệ điều hành hoạt động trên máy.
2- Nhược điểm của Java là: Java có tốc độ thực thi chương trình phải thôngqua JVM nên tốc độ rất chậm so với các ngôn ngữ khác. qua JVM nên tốc độ rất chậm so với các ngôn ngữ khác.
SVTH: Bùi Thi Thu Hiền Trang 54
Compiler (Pentium) Compiler (PowerPC) Compiler (SPARC) Binary File (Pentium) Binary File (PowerPC) Binary File (SPARC)
Nhưng Java vẫn nổi trội hơn tất cả những ngôn ngữ khác. Xem sơ đồ bên dưới.
3- Hoạt động của một ứng dụng viết bằng Java.
- Chương trình xây dựng bằng Java được chia làm hai loại: Java Applet và Java Application.
♦ Hoạt động của Java Applet: Java Applet là các đối tượng được thực hiện trên các trình duyệt Web, Java Applet cũng tạo ra hiệu ứng như là một ứng dụng thông thường. Tuy nhiên các thông tin cho phép Java thực hiện lại đưa từ trang Web. Khi trình duyệt Web truy cập đến trang thông tin này, Java Applet sẽ được tải về trình duyệt web và được thực hiện thông qua cơ cấu gọi là JVM.
♦ Hoạt động của Java Application: Là những ứng dụng độc lập, tương tự như những chương trình có đuôi .EXE hoặc .COM thông thường, việc thực hiện này dễ hơn việc thực hiện của Java Applet vì chúng không phải thông qua trình duyệt Web.
- Khi ứng dụng Java thực hiện(sau khi dịch Java có phần đuôi mở rộng là .class), JVM tiến hành phân mã trong *.class đó thành bộ lệnh của JVM rồi thực hiện giống như máy PC thao tác với các ứng dụng thông thường. Do đó các *.class sau khi dịch, có thể thực hiện trên bất kỳ hệ điều hành nào thông qua máy tính ảo JVM, JVM đã được xây dựng trên hầu hết các hệ điều hành và hệ xử lý hiện có, điều này có nghĩa là các ứng dụng viết bằng Java có đầy đủ điều kiện để phát triển.
- Giống như hầu hết những ngôn ngữ lập trình hướng đối tượng khác, Java bao gồm: một môi trường, một ngôn ngữ, một giao diện ứng dụng Java và nhiều lớp thư viện. Những lớp riêng này có đặc tính riêng là tái sử dụng lại, đây cũng là điểm mạnh mà Java khác với ngôn ngữ khác. Ngồi những tính năng trên Java còn có khả năng xử lý đa luồng. Ngôn ngữ này thực sự cơ động nên nó rất thích hợp cho các ứng dụng trên mạng. Ngồi ra nó còn có các đặc tính cần thiết như: hỗ trợ chuỗi, đồ họa, kiểm sốt lỗi, hỗ trợ đa luồng, đa phương tiện, làm việc theo mô hình client/server, linh động và hiệu
Java
Ứng dụng đa hệ nền
Ứng dụng bảo mật Ứng dụng Web
Ứng dụng dựa vào GUI Ứng dụng mạng phân tán
Ứng dụng hướng đối tượng
Ứng dụng đa luồng
Ứng dụng chuyên luồng
quả,…Các tính năng trên thực sự là những gì mà các doanh nghiệp và tổ chức hiện nay đang cần, để đáp ứng chính xác các yêu cầu xử lý thông tin của họ
Mô hình hoạt động của ứng dụng viết bằng Java:
Hình 1.1
- Các trình duyệt Web(Browser) hỗ trợ cho công việc của Java để thông dịch như:
♦ Internet Explorer(IE) của hãng Microsoft. ♦ Netscape Navigator của hãng AOL. ♦ HotJava Browser của hãng Sun.
♦ Ngồi ra còn có một số công cụ hỗ trợ Java thông qua môi trường làm việc là: • Java Workshop của hãng Sun.
• Jbuilder của nhóm Inprise-Borland.
♦ Môi trường phát triển Java gồm hai phần: Java Compiler (chương trình biên dịch Java – Javax: Lớp này sẽ dịch chương trình thành lớp .class) và Java Interpreter(Chương trình thông dịch Java-java, javax, trình duyệt appletviewer, jview, trình tài liệu javadoc, trình tạo hồ sơ jar….dùng để đưa lên trang Applet).
- Java mang cuộc sống đến cho WWW khi mà Web đã cho tiền thân của nó là Oak một viễn cảnh cuộc sống tốt đẹp hơn. Java đã được thấm sâu vào trong sự hiểu biết của nền công nghiệp này, còn nhanh hơn cả DOS hoặc Windows trong thời hồng kim của chúng trước đây.
Nhưng sự thành công lâu dài của Java không có gì đảm bảo - giống như một thần đồng nhỏ tuổi, phải trưởng thành nhanh chóng trong khi không được phép đốt cháy giai đoạn. Nếu vượt qua được, nó sẽ chứng minh rằng mạng là máy tính. Các bạn quan tâm có thể tìm hiểu thêm về Java thông qua website http://www.best.com/~pvdl.
III- Cơ chế truyền nhận trong Java. 1. Các kiến thức cơ bản về Networking. 1. Các kiến thức cơ bản về Networking.
Các máy tính chạy trên mạng Internet truyền thông với nhau dùng các Protocol TCP, UDP. Mô hình mạng 4 lớp được mô tả bằng hình vẽ dưới đây :
SVTH: Bùi Thi Thu Hiền Trang 56 Mã CT
(*.Java)
Máy ảo Java(JVM) Mã Bytecode Java (*.class) Java thông dịch (Pentium) Java thông dịch (Power PC) Java thông dịch (SPARC) Java biên dịch(Javax)
Application (HTTP,ftp,telnet) Transport (TCP/IP,UDP) Network (IP,.) Link (device driver)
Khi bạn viết các chương trình Java có truyền thông qua mạng, điều này có nghĩa là bạn đang lập trình ở lớp application. Nhìn chung, bạn không cần quan tâm tới các protocol TCP và UDP---Thay vì vậy, bạn có thể dùng các lớp trong package java.net. Các lớp này cung cấp việc truyền thông qua mạng độc lập hệ thống. Tuy nhiên, bạn cần hiểu rõ sự khác biệt giữa TCP và UDP để xác định rõ những lớp nào trong thư viện Java mà bạn sẽ sử dụng.
Khi hai chương trình muốn truyền dữ liệu cho nhau một cách đáng tin cậy, chúng thiết lập một connection và gửi data qua lại thông qua connection đó. TCP đảm bảo rằng data được gửi từ một đầu connection tới đầu kia không mất mát và đúng thứ tự (nếu không, một lỗi sẽ được thông báo).
Ðịnh nghĩa: TCP là một protocol dựa trên connection, cung cấp các data flow tin cậy giữa 2 máy tính.
Những ứng dụng yêu cầu một kênh truyền point-to-point, đáng tin cậy đều dùng TCP. Hyper Text Transfer Protocol (HTTP), File Transfer Protocol (ftp), và Telnet (telnet) là những ứng dụng đòi hỏi một kênh truyền đáng tin cậy. Thứ tự gửi và nhận phải đảm bảo là điều kiện buộc phải có đối với những ứng dụng này--khi dùng HTTP để đọc từ một URL, dữ liệu cần phải nhận được theo đúng thứ tự mà nó được gửi đi, nếu