Đề tài Việc xây dựng dịch vụ Chat trên mạng

Yếu tố quan trọng của mạng máy tính là tập hợp các máy tính được nối với nhau bởi các đường truyền và theo kiến trúc của một mạng máy tính, chúng có thể kết nối các máy tính với nhau ra sao, tập hợp các quy tắc, quy ước, cách truyền thông trên mạng phải tuân theo như thế nào để cho mạng hoạt động tốt. Cách nối các máy tính được gọi là hình trạng(Topology)của mạng. Còn tập hợp tất cả những qui tắc, qui ước truyền thông thì được gọi là giao thức(protocol)của mạng. Topology và Protocol là hai khái niệm cơ bản nhất của mạng máy tính.

doc112 trang | Chia sẻ: vietpd | Lượt xem: 1635 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đề tài Việc xây dựng dịch vụ Chat trên mạng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐẠI HỌC THUỶ SẢN KHOA CÔNG NGHỆ THÔNG TIN ************** BÁO CÁO TỐT NGHIỆP Đề tài: Xây dựng dịch vụ Chat trên mạng . Giáo viên hướng dẫn: Hồ Sỹ Bàng. Sinh viên thực hiện : Bùi Thị Thu Hiền Nha Trang_ 22/ 5/2003. MỤC LỤC Trang CHƯƠNG I: TỔNG QUAN VỀ INTERNET I- Kiến trúc mạng máy tính. 7 1. Kiến trúc mạng: 7 2. Mô hình mạng ISO 7 II- Tổng quan về Internet. 9 1. Internet bắt nguồn từ đâu? 10 2. Giao thức là gì? 10 3. Giao thức TCP/IP. 11 Bộ protocol TCP/IP. 12 Mô hình kết nối theo giao thức TCP/IP 13 Phân loại địa chỉ IP 14 4. Các dịch vụ kết nối đến Internet. 15 Dịch vụ trực tuyến(online service). 15 Nhà cung cấp dịch vụ Internet(ISP). 15 Truy nhập trực tuyến(direct access) 15 III- Tổng quan một số dịch vụ thông dụng trên mạng. 15 1. Dịch vụ Chat. 15 2. Đăng nhập từ xa Telnet 15 3. Archie (tìm kiếm tập tin) 16 4. Tìm kiếm thông tin theo chỉ số WAIS. 16 5. Gopher. 16 6. Dịch vụ Thư Điện Tử (E-mail). 16 7. Dịch vụ World Wide Web hay còn gọi là Web. 18 8. Dịch vụ tên miền (Domain Name System - DNS) 20 9. Dịch vụ nhóm tin (Use Net News Groups) 21 10. Dịch vụ FTP (File Transfer Protocol) 22 11. Internet Phone. 22 Tóm tắt chương I. 23 CHƯƠNG II: TÌM HIỂU VỀ INTERNET RELAY CHAT Giới thiệu tổng quan về IRC 25 I. Một số khái niệm cơ bản 26 1..Servers 26 2..Clients 26 3..Channels 27 II. Những quy định trong IRC 27 1..Dạng chung của thông điệp 27 2..Message 28 3.Giá trị số trả về (numeric replies) 29 III. Chi tiết từng message (message detail) 29 1.Nhóm message đăng ký kết nối. 30 Message do server sử dụng 32 1.1..Server Message 32 1.2..Server Quit Message 32 Message do client sử dụng 32 1.3..Operator message 32 1.4 Quit message 32 Nhóm message dùng chung 32 1.5..Pass message 32 1.6.Nick Message 33 1.7 User Message. 33 2.Nhóm message dùng cho việc điều khiển Channel. 33 2 .1 Join message 33 2.2 Part message 33 2.3.Mode message 33 2.3.1..Channel mode 33 2.3.2..User mode 33 2.4..Topic message 34 2.5..Names message 34 2.6 List message 34 2.7.Invite message 34 2.8. Kick message 34 3.Nhóm message truy vấn đến server (server query and command) 34 3.1..Version message 34 3.2 Stats message 34 3.3..Link message 34 3.4..Time message 34 3.5..Connect message 34 3.6..Trace message 34 3.7..Admin message 35 3.8 Info message 35 4.Nhóm message gởi text (sending message) 35 4.1 Private message 35 4.2..Notice message 35 5.Nhóm message do client truy vấn đến server (user –based query) 35 5.1.. Who Query 35 5.2.. Who is Query 35 5.3 Who was message 35 6...Nhóm message khác 35 6.1.Kill message 35 6.2.Ping message. 36 6.3.Pong message 36 6.4.. Error message 36 7..Nhóm message tuỳ chọn (option message) 36 7.1 Away message. 36 7.2.Rehast message 36 7.3..Restart message 36 7.4..Summon message 36 7.5. Users message 36 7.6..Operwall message 36 7.7. Userhost message 36 7.8.. Ison message 36 CHƯƠNG III: MỘT SỐ DỊCH VỤ CHAT TRÊN MẠNG I- Chat-Tán gẫu trên mạng 39 II- Dịch vụ Chat IRC(Internet Relay Chat) 39 1. Giới thiệu về hoạt động của IRC 39 2. Cách sử dụng. 39 IRC server 40 Port 40 3. Một số công cụ khi thực hiện Chat Mirc 40 Chat chốn đông người 40 Tìm hiểu về người bạn cùng chat 41 Chat riêng tư 41 Kết nối trực tiếp 41 III- Dịch vụ Yahoo!Messenger. 41 1. Giới thiệu. 41 2. Chat trong Yahoo!Messenger. 43 IV- Dịch vụ AOL INSTANT MESSENGER(AIM) 44 1. Giới thiệu về AIM. 44 2. Cách sử dụng. 45 3. Một số tính năng của AOL Instant Messenger 47 Tìm hiểu về tính năng Instant Message. 47 Tính năng Buddy List. 47 Thông báo Away và Idle 47 Trao đổi tập tin 47 Đặc tính Image 48 Chat trong AOL Instant Messenger 48 V- MobiChat- Chat qua điện thoại di động 48 VI- Một số dịch vụ chat thông dụng khác 49 Tóm tắt chương III. 50 CHƯƠNG IV- GIỚI THIỆU VỀ NGÔN NGỮ LẬP TRÌNH JAVA I- Giới thiệu ngôn ngữ Java. 52 II- Ưu điểm và nhược điểm của Java. 53 1. Ưu điểm của Java. 53 2. Nhược điểm của Java 55 3. Hoạt động của Java 55 III- Cơ chế truyền nhận trong Java. 56 1. Các kiến thức cơ bản về Networking. 56 TCP. 57 UDP 57 Port. 59 2. Networking: 59 2.1. Giao tiếp giữa phần hiện thực client và Browser ở máy local: 60 a. URLs 60 2.2. Sockets 62 b. Sử dụng Socket ở Client 62 c. Sử dụng Socket ở Server 64 d. Lớp Socket. 65 e. Java Security 67 2.3. Threads, Synchronization và Exceptions. 67 a. Multithread 67 b. Synchronization (xử lý crictical section) 69 c. Exceptions 70 3. Cơ Sở Dữ Liệu 70 3.1. JDBC 70 a. JDBC là gì ? 70 b. Cấu trúc JDBC 71 3.2. ODBC và JDBC 72 3.3. Sử dụng JDBC driver 72 3.4. Sử dụng JDBC để truy xuất Cơ sở dữ liệu. 73 a. Kết Nối Tới Cơ sở dữ liệu: 73 b.Truy xuất Cơ sở dữ liệu trong java 73 c. Ðối Tượng ResultSet 74 d. Ðối Tượng ResultSetMetaData: 75 e. Ðối Tượng DatabaseMetaData: 75 f. Lấy Thông Tin Trên Table 75 Tóm tắt chương IV. 77 Tài liệu tham khảo. 82 Chương 1 TỔNG QUAN VỀ MẠNG INTERNet I- Kiến trúc mạng máy tính. Để hiểu chi tiết hơn về Internet một phần quan trọng của kiến trúc mạng máy tính(Network architecture), tôi xin trình bày sơ lược về kiểu kiến trúc này và mô hình mạng chuẩn ISO. 1. Kiến trúc mạng: Yếu tố quan trọng của mạng máy tính là tập hợp các máy tính được nối với nhau bởi các đường truyền và theo kiến trúc của một mạng máy tính, chúng có thể kết nối các máy tính với nhau ra sao, tập hợp các quy tắc, quy ước, cách truyền thông trên mạng phải tuân theo như thế nào để cho mạng hoạt động tốt. Cách nối các máy tính được gọi là hình trạng(Topology)của mạng. Còn tập hợp tất cả những qui tắc, qui ước truyền thông thì được gọi là giao thức(protocol)của mạng. Topology và Protocol là hai khái niệm cơ bản nhất của mạng máy tính. - Topology có hai kiểu mạng chủ yếu là: +Kiểu điểm-điểm: các đường truyền nối từng cặp nút với nhau và mỗi nút đều có trách nhiệm lưu trữ tạm thời sau đó chuyển dữ liệu đi cho tới đích. +Kiểu truyền bá: Tất cả các nút phân chia chung một đường truyền vật lý. Nghĩa là dữ liệu được gởi đi từ một nút nào đó sẽ có thể được tiếp nhận bởi tất cả các nút còn lại - Giao thức mạng: thông dụng nhất hiện nay là giao thức TCP/IP sẽ đuợc trình bày chi tiết ở phần sau. Mô hình mạng máy tính thì nhiều nhưng ở đây em chỉ trình bày mô hình mạng ISO. 2. Mô hình mạng ISO: Trước tiên chúng ta cần tìm hiểu vấn đề : tại sao có sự phân tầng của các protocol, ích lợi của sự phân tầng. Để có thể chuyển một thông điệp(message) từ máy này sang máy khác(các máy phải trong cùng hệ thống mạng) nó phải trải qua nhiều giai đoạn khác nhau,các giai đoạn này rất phức tạp như là:chia nhỏ thông điệp (message) thành nhiều gói nhỏ(package),mã hoá các gói này ra dạng bit,các bit được chuyển qua đường truyền vật lý đến máy nhận.Sau đó quá trình nhận sẽ thực hiện ngược lại như bên gởi,nếu quá trình lắp ghép gặp phải lỗi thì phải thông báo để truyền lại..v.v. Các giai đoạn này rất phức tạp, đòi hỏi người lập trình ứng dụng phải hiểu rõ tất cả các cơ chế hoạt động bên dưới của hệ thống.Vì vậy người ta đưa ra ý tưởng phân tầng,mỗi tầng phải chịu trách nhiệm cung cấp dịch vụ cho tầng bên trên và đồng thời nó cũng sử dụng dịch vụ của tầng bên dưới cung cấp cho nó.Như thế một người làm việc ở tầng nào họ chỉ quan tâm đến các tầng có quan hệ trực tiếp với mình. Mô hình ISO gồm 7 tầng được coi là mô hình chuẩn vì các mô hình khác cũng dựa theo mô hình này để tạo ra một mô hình phù hợp cho riêng mình, mà ngày nay thông dụng nhất là mô hình TCP/IP. Session Layer Presentation Layer Application Layer Transport Layer Network Layer Datalink Layer Physical Layer Application Layer Presentation Layer Session Layer Transport Layer Network Layer Datalink Layer Physical Layer Sending Application Receiver Application Hình1: Mô hình ISO gồm 7 tầng. Ý nghĩa các tầng như sau: - Physical: liên quan đến nhiệm vụ truyền dòng bit không có cấu trúc qua đường truyền vật lý, truy nhập đường truyền vật lý như các phương tiện cơ, điện, hàm, thủ tục. - Datalink:cung cấp phương tiện để truyền thông tin qua liên kết vật lý đảm bảo tin cậy: gởi các khối dữ liệu(frame) với các cơ chế đồng bộ hóa, kiểm soát lỗi và kiểm soát luồng dữ liệu cần thiết. - Network: thực hiện việc chọn đường và chuyển tiếp thông tin với công nghệ chuyển mạch thích hợp, thực hiện kiểm soát luồng dữ liệu và cắt/hợp dữ liệu nếu cần. - Transport: Thực hiện việc truyền dữ liệu giữa hai đầu mút(end-to-end), thực hiện việc kiểm soát luồng dữ liệu giữa hai đầu mút. - Session: Cung cấp phương tiện quản lý truyền thông giữa các ứng dụng, thiết lập duy trì đồng bộ hóa và hủy bỏ các phiên truyền thông giữa các ứng dụng. - Presentation: Chuyển đổi cú pháp dữ liệu để đáp ứng yêu cầu truyền dữ liệu của các ứng dụng qua môi trường ISO. - Application: Cung cấp các phương tiện để người sử dụng có thể truy nhập được vào môi trường OSI, đồng thời cung cấp các dịch vụ thông tin phân tán. II- Tổng quan về Internet: Internet là công nghệ thông tin liên lạc mới, và hiện đại, nó tác động sâu sắc vào xã hội cuộc sống chúng ta, là một phương tiện cần thiết như điện thoại hay tivi, nhưng ở mức độ bao quát hơn. Internet đưa chúng ta vào thế giới có tầm nhìn rộng hơn và bạn có thể làm mọi thứ: viết thư, đọc báo, xem bản tin, giải trí, tra cứu và thậm chí còn thực hiện những phi vụ làm ăn, ….Vì Internet là mạng của các mạng, tức là bao gồm nhiều mạng máy tính kết nối lại với nhau, số lượng máy tính nối mạng và số lượng người truy cập vào mạng Internet trên toàn thế giới đang ngày càng tăng lên nhanh chóng. Đặc biệt từ năm 1993 trở đi, mạng Internet không chỉ cho phép chuyển tải thông tin nhanh chóng mà còn giúp cung cấp thông tin, nó cũng là diễn đàn và là thư viện toàn cầu đầu tiên. Các thông tin được đặt rải rác trên toàn cầu,có thể truyền thông được với nhau như một thiết bị Modem và đường dây điện thoại. Hệ điều hành UNIX là hệ phát triển mạnh với rất nhiều công cụ hỗ trợ và đảm bảo các phần mềm ứng dụng có thể chuyển qua lại trên các họ máy khác nhau (máy mini, máy tính lớn và hiện nay là máy vi tính). Bên cạnh là hệ điều hành UNIX BSD còn cung cấp nhiều thủ tục Internet cơ bản, đưa ra khái niệm Socket và cho phép chương trình ứng dụng thâm nhập vào Internet một cách dễ dàng. Internet có thể tạm hiểu là liên mạng gồm các máy tính nối với nhau theo một nghi thức và một số thủ tục chung gọi là TCP/IP (Transmission Control Protocol/Internet Protocol).Thủ tục và nghi thức này trước kia đã được thiết lập và phát triển là cho một đề án nghiên cứu của Bộ Quốc Phòng Mỹ với mục đích liên lạc giữa các máy tính nối đơn lẻ và các mạng máy tính với nhau mà không phụ thuộc vào các hãng cung cấp máy tính. Sự liên lạc này vẫn được bảo đảm liên tục ngay cả trong trường hợp có nút trong mạng không hoạt động. Ngày nay, Internet là một mạng máy tính có phạm vi toàn cầu bao gồm nhiều mạng nhỏ cũng như các máy tính riêng lẻ được kết nối với nhau để có thể liên lạc và trao đổi thông tin. Trên quan điểm Client / Server thì có thể xem Internet như là mạng của các mạng của các Server, có thể truy xuất bởi hàng triệu Client. IP cắt nhỏ và đóng gói thông tin chuyển qua mạng, khi đến máy nhận, thì thông tin đó sẽ được ráp nối lại. TCP bảo đảm cho sự chính xác của thông tin được truyền đi cũng như của thông tin được ráp nối lại đồng thời TCP cũng sẽ yêu cầu truyền lại tin thất lạc hay hư hỏng .Tùy theo thông tin lưu trữ và mục đích phục vụ mà các server trên Internet sẽ được phân chia thành các loại khác nhau như Web Server, email Server hay FTP Server. Mỗi loại server sẽ được tối ưu hóa theo mục đích sử dụng. Hầu hết người sử dụng truy cập Internet thực hiện công việc đơn giản là chạy các chương trình ứng dụng trên một máy tính nào đó gọi là máy client mà không cần hiểu loại máy tính(Server) đang được truy xuất, kỹ thuật TCP/IP, cấu trúc hạ tầng mạng hay Internet ngay cả con đường truyền dữ liệu đi qua để đến được đích của nó.Chỉ có những người lập trình mạng cần xem TCP/IP như là một mạng và cần hiểu một vài chi tiết kỹ thuật. Hình 1.4 : Liên lạc trên Internet 1. Internet bắt nguồn từ đâu? Internet bắt đầu từ đầu năm 1969 dưới cái tên là ARPANET(Advanced Research Projects Agency) còn gọi là ARPA. Nó thuộc bộ quốc phòng Mỹ (DoD). Đầu tiên nó chỉ có 4 máy được thiết kế để minh hoạ khả năng xây dựng mạng bằng cách dùng máy tính nằm rải rác trong một vùng rộng. Vào năm 1972, khi ARPANET được trình bày công khai, đã được 50 trường đại học và các viện nghiên cứu nối kết vào. Mục tiêu của ARPANET là nghiên cứu hệ thống máy tính cho các mục đích quân sự, chính phủ và quân đội tìm kiếm những phương cách để làm cho mạng tránh được các lỗi, mạng này thiết kế chỉ cho phép các văn thư lưu hành từ máy tính này đến máy tính khác, đối với chính phủ và quân đội, máy tính đã có những công dụng rõ ràng và sâu rộng. Tuy nhiên, một trong những mối bận tâm chính yếu là tính đáng tin cậy vì nó có liên quan đến vấn đề sinh tử. Kế hoạch ARPANET đã đưa ra nhiều đường nối giữa các máy tính. Điều quan trọng nhất là bạn có thể gởi các văn thư bởi bất kỳ con đường khả dụng nào, thay vì chỉ qua một con đường cố định. Đây chính là nơi mà vấn đề về giao thức đã xuất hiện. 2. Giao thức là gì? - Giao thức hay còn gọi là nghi thức là các phương tiện để làm cho sự thông tin trở nên khả hữu. Một quyết định phải được thực hiện khi hai hay nhiều máy tính muốn gởi và nhận dữ liệu. Đầu tiên ARPANET đã đưa ra giao thức Host-to-Host Protocol, nhưng giao thức này không đáng tin cậy và nó chỉ giới hạn trong một số các máy. Vào cuối năm 1970 các mạng khác cũng bung ra trong thực tế, mạng UUCP gồm một nhóm rồi cũng đã nối được hàng trăm máy rồi hàng ngàn máy. Vào cuối năm 1980 mạng NSFNET mạng của National Science Foundation được phát triển để nối 5 trung tâm siêu máy tính của nó, nó là mạng hấp dẫn cho tất cả các nhà nghiên cứu và các viện đại học cũng như các viện nghiên cứu. Năm 1972, bắt đầu thế hệ thứ hai của giao thức mạng, đã làm phát sinh ra một nhóm giao thức được gọi là Transmission Control Protocol/ Internet Protocol viết tắt là TCP/IP. Năm 1983, TCP/IP là bộ giao thức cho ARPANET, TCP/IP đã trở thành một trong những giao thức mạng được dùng rộng rãi nhất. Sau cùng tất cả các mạng được tài trợ bởi cá nhân hay xã hội -mạng ARPANET, MILNET, UUCP, BITNET, CSNET và NASA Science Internet đã liên kết trong một mạng khu vực NSFNET và ARPANET giải tán và ngày càng có nhiều mạng khác thêm vào... - Ngày nay để thực hiện việc truyền thông qua mạng thông qua trình duyệt Web, và ta cũng cần một giao thức để thực hiện công việc này. Mặc dù hiện nay cũng đang có rất nhiều giao thức để truyền thông tin nhưng nhìn chung có hai giao thức thường được các lập trình viên sử dụng đó là: TCP/IP(IP: là giao thức Internet, TCP: giao thức truyền tải) và giao thức UDP(giao thức gói dữ liệu người dùng). Vì chương trình của em sử dụng giao thức TCP/IP nên sau đây em sẽ trình bày chi tiết giao thức này. 3. Giao thức TCP/IP. Mô hình mạng TCP/IP. Application Layer HTTP,FTP,Telnet, SMTP Transport Layer TCP/IP,UDP Physical Layer EthernetX.25, Token Ring Network Layer IP Receiving Data Sending Data Hình 1.2 :Mô hình mạng ISO. - TCP/IP là một giao thức hướng kết nối(connection) thiết lập một kết nối truyền thông giữa địa chỉ cổng IP. Liên kết này đảm bảo việc truyền dữ liệu trên mạng là không mất thông tin từ máy nguồn đến máy đích, các gói dữ liệu đến đích phải tuân theo đúng thứ tự đã được gởi và 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. Do đó ta sử dụng mô hình mạng TCP/IP gồm bốn lớp được mô tả bằng hình 1.2. ¨ Application layer: chứa các ứng dụng mạng. Lớp này tương ứng với hai lớp trên cùng(application và presentation layer)của mô hình OSI. ¨ Transport layer: cung cấp các dịch vụ truyền nhận dữ liệu giữa các quá trình với nhau. Các quá trình này có thể trao đổi thông tin với nhau thông qua địa chỉ của máy tính gửi/nhận và cổng thông tin. Cấp này tương ứng với hai cấp kế tiếp(session và transport layer)của mô hình OSI. ¨ Network layer: đảm nhận việc xác định, tìm đường và phân phối các gói thông tin với địa chỉ đích. Network layer trong mô hình TCP/IP tương ứng với hai lớp network và datalink của mô hình OSI. ¨ Physical layer: sử dụng các giao tiếp chuẩn hiện có như Enthernet, Tokenring,....để phục vụ cho việc gởi và nhận dữ liệu. - Để gởi gói dữ liệu từ máy nguồn tới máy đích, nó phải có một số cách nhận diện những máy này. Trên mạng được nhận dạng bằng cách dùng một hay nhiều địa chỉ IP. Một máy tính có thể có nhiều hơn một địa chỉ IP nếu nó có nhiều hơn một Card mạng. Các địa chỉ IP là một số 32 bit rất khó nhớ để giải quyết việc này các nhà quản lý mạng đã chọn một hệ thống tên vùng (DNS) để quản lý. Các địa chỉ IP được duy trì bởi một hệ thống máy phục vụ tên vùng. Các máy phục vụ này có khả năng tìm kiếm địa chỉ IP tương ứng với tên vùng. Tuy nhiên liên lạc qua lại giữa các máy tính chỉ là một vấn đề truyền thông tin trên mạng. Để một chương trình ứng dụng như Mail, Chat, E-mail liên lạc với một ứng dụng khác như máy Server phục vụ, máy Server này phải có cách gởi dữ liệu đến các chương trình riêng bên trong một máy tính. Địa chỉ cổng là địa chỉ 16 bit nằm bên trong một máy tính thường kết hợp với một giao thức đặc biệt như TCP/IP, UDP. Một máy Server (máy phục vụ) phải cài đặt chương trình ứng dụng phục vụ lắng nghe các yêu cầu đến. Trong việc truyền nhận thông tin dựa trên TCP/IP, một ứng dụng thiết lập một connection với một ứng dụng khác bằng cách gắn một socket cho mỗi port number. Do đó sẽ không thể có hai ứng dụng dùng chung một port. Bộ giao thức TCP/IP bao gồm: ¨ TCP(Transmission Control Protocol): đây là loại protocol có cầu nối (connection oriented) cung cấp khả năng truyền dòng dữ liệu không lỗi, 2 chiều (full duplex)cho các quá trình cho người sử dụng. ¨ UDP(User Datagram Protocol): loại protocol không thiết lập cầu nối (connectionless) cho các quá trình của user. Không giống như TCP, nó không đảm bảo dữ liệu khi truyền đi có đến nơi chính xác hay không. ¨ ICMP (Internet Control Message Protocol): protocol xử lý lỗi và điều khiển thông tin giữa các gateway và các host. ¨ IP(Internet Protocol): IP là protocol cung cấp dịch vụ phân phối các package cho TCP, UDP và ICMP. ¨ARP (Address Resolution Protocol): Protocol ánh xạ 1 địa chỉ internet thành địa chỉ phần cứng(MAC address). ¨RAPR(Address Resolution Protocol): Protocol ánh xạ một địa chỉ phần cứng thành địa chỉ IP. - Mạng Internet sử dụng giao thức TCP/IP: TCP/IP được thiết kế để có thể kết nối các thiết bị máy tính khác nhau, là ngôn ngữ chung để các hệ máy tính khác nhau có thể trao đổi, liên lạc, chuẩn này được sử dụng rộng rãi trong hầu hết các hệ thống máy tính bởi những đặc điểm ưu việt của nó và chức năng phụ trợ có thể cài đặt thêm vào. Mạng Internet bao gồm rất nhiều kênh kết nối khác nhau mà các gói dữ liệu sẽ được lưu chuyển trên đó, các kênh được giao tiếp với nhau bằng chuẩn TCP/IP. Nhờ đó tất cả các máy tính trên mạng Internet có thể kết nối với nhau. Ngoài ra TCP cung cấp khả năng truyền không lỗi từng gói dữ liệu gởi đi đến máy nhận, giao thức này phải có trách nhiệm thông báo và kiểm tra xem dữ liệu có đến đủ hay chưa, có lỗi hay không có lỗi. Trước khi chuyển dữ liệu bao giờ cũng có việc thiết lập kênh truyền giữa hai máy. Do phải duy trì mối kết nối và kiểm tra dữ liệu nên sử dụng TCP phải đòi hỏi chiếm thêm một số tài nguyên và cách lập trình cho giao thức này hơi khó (phải thực hiện các bước kiểm tra dữ liệu theo yêu cầu của TCP). Truyền dữ liệu theo giao thức TCP thường áp dụng cho các dịch vụ như truyền tập tin, các dịch vụ trực tuyến trên Internet đòi hỏi có độ chính xác cao. Start App Server Client Create the socket Create the server socket Accept New Connection Acquire Stream and Conduct Conversation Acquire Stream and Conduct Conversation Close Stream and Socket Close Stream and Socket Start App Continue? yes no D