Một số dịch vụ chat thơng dụng khác

Một phần của tài liệu Xây dựng dịch vụ chat trên mạng (Trang 49)

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. 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 đơn 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 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ơng qua 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ã 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

Một phần của tài liệu Xây dựng dịch vụ chat trên mạng (Trang 49)