Báo cáo này sẽ trình bày chỉ tiết về quá trình phát triển ứng dụng, bao gồm từ việc thiết kế hệ thống theo mô hình Client — Server, tích hợp Socket IO để quán lý kết nối, cho đến cách xử
Trang 1TRUYEN THONG VIỆT - HÀN KHOA KHOA HOC MAY TINH
VU
ĐỎ ÁN CƠ SỞ 4
ĐÈ TÀI: XÂY DỰNG CHATROOM ĐA
NGUOI DUNG BANG JAVA SU DUNG
PHUONG THUC TCP/IP
Sinh viên thực hiện: ĐINH LÊ THÁIDƯƠNG 22IT056
Trang 2TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ
TRUYEN THONG VIỆT - HÀN KHOA KHOA HOC MAY TINH
VU
ĐỎ ÁN CƠ SỞ 4
ĐÈ TÀI: XÂY DỰNG CHATROOM ĐA
NGUOI DUNG BANG JAVA SU DUNG
PHUONG THUC TCP/IP
Sinh viên thực hiện: ĐINH LÊ THÁI DƯƠNG 22IT056
Trang 3MO DAU
Trong bồi cảnh phát triển nhanh chóng của công nghệ thông tin, việc giao tiếp và truyền tải dữ liệu qua mạng ngày càng trở nên quan trọng và phô biến Đặc biệt, các ứng dụng Chat đã và đang đóng vai trò quan trọng trong việc kết nối con người và hỗ trợ trao
đổi thông tm Bên cạnh đó, nhu cầu gửi và nhận tệp dữ liệu một cách an toàn và nhanh
chóng cũng ngày càng gia tăng, đặc biệt trong môi trường làm việc trực tuyến như hiện nảy
Dự án “Xây dựng ứng dụng Chat và gửi File thông qua Socket [O theo mô hình Client-Server” nhằm mục tiêu tạo ra một nên tảng giao tiếp hiệu quả, giúp người dùng có thê trao đổi tin nhắn và gửi file trong thời gian nhanh nhất Sử dụng Socket IO, một thư viện manh mẽ dựa trên nền tảng Note.js dự án tập trung vào việc xây dựng kết nối thời gian thực giữa các client và server, đảm bảo tốc độ và tính bảo mật cao
Báo cáo này sẽ trình bày chỉ tiết về quá trình phát triển ứng dụng, bao gồm từ việc thiết kế hệ thống theo mô hình Client — Server, tích hợp Socket IO để quán lý kết nối, cho
đến cách xử lý dữ liệu và đảm bảo an toàn khi truyền file
Khoa Khoa học máy tính GVHD: ThS Lê Viết Trương
Trang 4CHUONG 1: SO LUOC VE LAP TRINH MANG
LOI CAM ON
Trước tiên với tình cảm sâu sắc và chân thành nhất, cho phép chúng em được trình bày tỏ lòng biết ơn đến tất cả các cá nhân và tô chức đã tạo điều kiện hỗ trợ, giúp đỡ chúng em trong suốt quá trình học tập và nghiên cứu đề tài
Với lòng biết ơn sâu sắc nhất, chúng em gửi đến quý Thầy Cô ở Khoa Khoa học máy tính, Trường Đại học Công nghệ Thông tin và Truyền thông Việt - Hàn và đặc biệt
là Giảng viên Th§ Trần Đình Sơn một người thầy đồng hành cùng chúng em trong kì vừa qua, thầy đã truyền đạt vốn kiến thức quý báu, những kỹ năng và sự tâm huyết của mình trong những lúc hướng dẫn đề tài Nhờ có những lời hướng dẫn, dạy bảo của thầy
nên đề tài của chúng em mới có thê hoàn thiện tốt đẹp Một lần nữa ching em xin chân thanh cam on thay
Đối với bài đồ án môn học lần này, chúng em là sinh viên năm 3, vẫn còn nhiều những hạn chế, không tránh khỏi thiếu sót, nhóm tụi em rất mong được nhận những ý kiến đóng góp quý báu của Thay Cô để chúng em có thể rút kinh nghiệm, lấy đó làm
những bài học dé hoc tập, rèn luyện tốt hơn cho những bài báo cáo lần sau
Chúng em xin chân thành cảm ơn!
Khoa Khoa học máy tính GVHD: ThS Lê Viết Trương
Trang 5NHAN XET
(CUA GIAO VIEN HUONG DAN)
Da Nang, thang 11 nam 2024
Giảng viên hướng dẫn
Khoa Khoa học máy tính GVHD: ThS Lê Viết Trương
Trang 6CHUONG 1: SO LUOC VE LAP TRINH MANG
Khoa Khoa học máy tính GVHD: ThS Lê Viết Trương
Trang 7hi ~ ,ÔỎ iii 0/280 90155 iv DANH MỤC HÌNH ẢNH - 2< << tEEEtEEeEEEEEEEgxEEEreersrreerserererrsee vi
CHƯƠNG 1: SƠ LƯỢC VÈ LẬP TRÌNH MẠNG s- 55c se sec cscsesersesscse 1 Ằ.‹ 1 5) 5 4 1.3 9 10): 00 vn nốốốốốốốố ốốố e.e 6 1.3.1 Bộ giao thức liên quang (TP Prot0COÌ) - c5 S3 3 xnxx 6 1.3.2 Bộ giao thức TCP, co cọ g TH nọ HT 4p 8 1.3.3 Lap trimh SOCKET csccsssssssssssssessssesssessssessseessnecssnecsssecsssccssscsaseesaceeseenss 10
1.4.2 Một số tính chất của ngôn ngữ -s- s5 se se xe xe eeeersererseesree 13
CHƯƠNG 2 Giới thiệu về dự Án 5-5 se xeEEsEEsersersEreerersrrsrsrerrsrree 19
2.1 Giới thiệu sơ lƯỢC: c- << TH KH TH HH TH HH TH TH nhà 19 CHƯƠNG 3: PHÂN TÍCH VÀ THIẾT KÉ HỆ THÓNG - -5 5c<c- 22 2.1 Khảo sát và đặc tả yêu cầu 22 2.2 Giao diện người đÙng - o4 c4 s0” Y cà n0 ng 22 2.3 Yêu cầu hệ thống c°-s-s©sseEExEEkEEEkEEEEEeeeerxereereererrsre 22 ân n.n ôÔ 22 2.4 S©GTVCF HQ cọ họ ọọọ nh TH Họ 9 0 9 09 0 8 089 00580 23
',ˆ VÂN ôð ae 24
Khoa Khoa học máy tính GVHD: ThS Lé Viet Truong
Trang 8CHUONG 1: SO LUOC VE LAP TRINH MANG
Trang 9DANH MỤC HÌNH ẢNH
Hình I Các loại mạng 0201212112211 1121112111 1111811101118 111k KH kh re 2
Hình 2 Các tầng lớp mạng OSÌ 21 1 SE 1111211212211 1111 1 ng 4
Hình 4: Mô tả TCP Socket 5s 21222112711222112211121111.1112.1211222222 ra 7 Hình 5: Phân loại địa chỉ HP 2 HT ng ng 1121111 15 1511 xkg 7
ID0101:8.Á0si::1:18100)5Ä1 -ìi- slaaiiš4ẢÝẢÝỶÝ 9
Hình 7: Mô tả Socket và mô hình 'TCP - - - L1 22121211111 12111 111111101 111 KHE 21111xe6 ll Hinh 8: Socket trong m6 hình ứng dụng CÏient - SerVer c c2 c2 II Hình 9: Mô hình TCP Soeket -s-222+2221222511271112711221112211.21122 2 re 12 Hình 10: Ứng 6007501122277 cc cece ccc cece nee rete enter teat ee eetaeeceseaesaeeesieesieesieeeseee 13
Hinh 11: Minh hoa viéc truyền dữ ligu bang giao thtte TCP ccceccccecceseeseseesseeeeee 23 Hình 12: Sơ đồ USE-CASE người dùng hệ thống - SE HH grryo 25 Hình 13: Biểu đồ hoạt động đăng nhập - 221 ST 21211 11212 1.1 pkerrai 30
Khoa Khoa học máy tính GVHD: ThS Lê Viết Trương
Trang 10CHUONG 1: SO LUOC VE LAP TRINH MANG
DANH MUC BANG
Bảng I:Bảng phân tích chức năng USE-CASE người dùng - 2c sec: 26 Bang 2: Bang phan tích chức năng Server người đùng - 2c c2 cà s2 s2 se 28
Khoa Khoa học máy tính GVHD: ThS Lê Viết Trương
Trang 11CHUONG 1: SO LUOC VE LAP TRÌNH MẠNG
1.1 Khái niệm
Mạng máy tính là một hệ thống tích hợp giữa phần cứng và phần mềm, cho phép các thiết bị máy tính, cũng như các thiết bị thông minh khác, kết nối và giao tiếp với nhau thông qua các giao thức truyền thông chung Đây được coi là một phát minh mang tính cách mạng trong lịch sử công nghệ, mở ra kỷ nguyên mới cho việc trao đối thông tin, chia sẻ tài nguyên và hỗ trợ hợp tác toàn cầu Vai trò chính của mạng máy tính là giúp
các hệ thông máy tính khác nhau, dù khác biệt về cầu trúc, hệ điều hành hay chức năng,
có thê liên kết và truyền tải đữ liệu một cách liền mạch, an toàn và đáng tin cậy
Việc xây dựng mạng máy tính đòi hỏi sự kết hợp giữa các thiết bị phần cứng, như
bộ định tuyến, bộ chuyên mạch, cáp mạng, hoặc các thiết bị không dây, với phân mềm
quản lý mạng, giao thức truyền thông, và các quy trình bảo mật Những yếu tố này hoạt động đồng bộ đề đảm bảo rằng các máy tính và thiết bị khác có thể trao đôi thông tin một cách nhanh chóng, hiệu quả và chính xác
Mạng máy tính không chỉ là công cụ kết nối, mà còn là nền tảng thúc đây sự phát triên của công nghệ, từ các ứng dụng hàng ngày như email, mạng xã hội, và hội nghị trực tuyến, đến các lĩnh vực quan trọng như điện toán đám mây, trí tuệ nhân tạo, và loT (Internet of Things)
Ngoài các loại mạng trên, còn có nhiều loại mạng khác được xây dựng cho các mục đích chuyên biệt, chăng hạn như mạng doanh nghiệp, mạng trường học, hoặc mạng trung tâm dữ liệu
Hiểu rõ cơ chế hoạt động của các loại mạng máy tính này rất quan trọng trong việc lựa chọn cầu hình và phát triển ứng dụng mạng Người phát triển cần xem xét các yêu tô như yêu cầu về tốc độ, độ trễ, khả năng mở rộng, và tính bảo mật đề đảm bảo hệ thống mạng được thiết kế phù hợp với mục tiêu sử dụng
Khoa Khoa Hoc May tinh 1 GVHD: ThS Lê Viết Trương
Trang 12CHUONG 1: SO LUOC VE LAP TRINH MANG
Mạng máy tính không chỉ là công cụ liên kết, mà còn đóng vai trò như một nền
tảng hỗ trợ sự đối mới trong hầu hết các lĩnh vực của cuộc sống Nó đã, đang, và sẽ tiếp tục thúc đây sự phát triển của công nghệ thông tin, giao tiếp, và kinh tế toàn cầu, đồng thời mang đến những tiện ích ngày càng lớn hơn cho xã hội
Hình 1 Các loại mạng
Mạng LAN là mạng cục bộ nên có đường truyền ngắn Với giao thức TCP/IP,
mạng LAN chủ yếu được sử dụng tại nơi diện tích nhỏ như: văn phòng, tòa nhà, trường
học Tất cả máy tính kết nỗi mạng LAN đều được sử dụng để kết nối vào máy chủ sau
đó chờ quyền truy cập đề thực hiện lệnh in trên may in
Khác với mạng LAN, mạng đô thị MAN có phạm vi kết nối rộng hơn, hình thành
nhờ sự kết nối nhiều mạng LAN với nhau Đây là mô hình rộng cung cấp dịch vụ giá trị gia tăng: trên một đường truyền tốc độ nhanh đề kết nối và mở rộng triển khai các doanh nghiệp với nhau
Khoa Khoa Hoc May tinh 2 GVHD: ThS Lê Viết Trương
Trang 13Mạng diện rộng WAN là sự kết hợp giữa mạng LAN và mạng MAN với việc sử dụng đường đây cáp quang hay thuê bao hoặc thông qua đường truyền vệ tinh Phạm
vi hoạt động của mạng rộng lớn hơn, bao gồm cả một quốc gia, khu vực địa lý hay thậm
chí ở toàn cầu
PAN có khả năng phát tín hiệu kết nỗi trong một diện tích nhỏ dé truyén đữ liệu
thông qua mạng trực tuyến Cá nhân có thể sử dụng mạng PAN giữa các thiết bị với nhau
như đi động máy tính để liên lạc thuận lợi hơn hoặc kết nối với các mang cao cấp hơn
Lập trình mạng nói một cách đễ hiểu là công việc của người sẽ phát triển ứng
dụng tại hệ thông doanh nghiệp từ việc lập số sách nhân sự, quản lý tiền cho đến việc
sáng tạo các trò chơi, điều khiển để thêm sức hấp dẫn thu hút hơn
Công thức đề xây dựng lập trình mạng như sau:
Lập trình mạng = Kiến thức mạng + Mô hình lập trình mạng + Ngôn ngữ lập trình
Trang 14CHUONG 1: SO LUOC VE LAP TRINH MANG
1.2 Mo hinh OSI
Mô hình tham chiếu OSI (Open Systems Intereonnection) là một mô hình phân lớp được sử dụng để mô tả cách các hệ thống trong mạng máy tính giao tiếp với nhau Mô hình này được phát triển bởi Tổ chức Tiêu chuẩn Hóa Quốc tế (ISO) và bao gồm 7 lớp khác nhau, mỗi lớp đóng vai trò cụ thê trong việc xử lý và truyền thông tin qua mạng
Mô hình OST được giới thiệu vào năm 1983 bởi đại diện của các công ty máy tính
và viễn thông lớn, và được ISO và IUT-T thông qua như một tiêu chuân quốc tế vào năm
1984 Mô hình OSI là một mô hình được định nghĩa bởi Tổ chức Tiêu chuân hóa Quốc
tế, cho phép các hệ thống truyền thông đa dạng giao tiếp bằng cách sử đụng các giao thức chuẩn
Mô hình OSI có thể được xem như một ngôn ngữ chung cho mạng máy tính Mô hình OSI được thiết kế đựa vào nguyên lý tầng cấp, lý giải một cách trừu tượng kỹ thuật kết nối truyền thông giữa các máy vi tính và thiết kế giao thức mạng giữa chúng dựa trên khái niệm chia hệ thống liên lạc thành bảy lớp trừu tượng, mỗi lớp xếp chồng lên lớp cuối củng
Network Layer My mien
Data Link ~~ Data Link Layer
Physical Layer —— Poel
Khoa Khoa Hoc May tinh 4 GVHD: ThS Lê Viết Trương
Trang 15- Lớp Vat ly (Physical Layer): Lop này đảm nhận việc truyền đữ liệu thông qua các phương tiện truyền dẫn vật lý như cáp, sóng radio hay ánh sáng Nó xác định các
thuật ngữ kỹ thuật, các loại cáp, đặc điểm điện trở và tần số của tín hiệu
- Lớp Liên kết đữ liệu (Data Link Layer): Lớp này xử lý việc truyền gói tin giữa các đơn vị đữ liệu trong mạng Nó cung cấp các phương thức để phát hiện và sửa lỗi trong quá trình truyền dữ liệu Lớp này còn chịu trách nhiệm xác định địa chỉ vật lý (MÁC address) của thiết bị
- Lớp Mang (Network Layer): Lớp này điều khiên việc chuyến tiếp gói tin qua
mạng từ nguồn đến đích Nó sử dụng địa chỉ IP để xác định địa chỉ của các nút mạng và
quyết định các tuyến đường truyền dẫn gói tin
- Lớp Giao vận (Transport Layer): Lớp này đám nhiệm việc chia nhỏ đữ liệu thành các đoạn nhỏ hơn và đảm bảo việc truyền dữ liệu đáng tin cậy giữa các quá trình trên mạng
Nó cung cấp các dịch vụ như kiểm soát lỗi, xác nhận gói tim và điều chỉnh tốc độ truyền đữ liệu
- Lớp Phiên (Session Layer): Lớp này quản lý và duy trì phiên giao tiếp giữa hai ứng dụng Nó đảm bảo rằng các thông điệp được gửi và nhận theo thứ tự và không bị mắt trong quá trình truyền
- Lớp Trình diễn (Presentation Layer): Lớp này xử lý việc biểu điển dữ liệu và định dạng của nó đề đảm bảo tính nhất quán và tương thích giữa các hệ thống khác nhau
Nó thực hiện mã hóa, nén và giải mã, và quản lý việc định dạng dữ liệu
- Lớp Ứng dụng (Application Layer): Lớp này là lớp cao nhất trong mô hình OSI
và cung cấp các dịch vụ trực tiếp cho người dùng Nó cho phép các ứng dụng truy cập vào mạng và tương tác với các dịch vụ mạng như email, truyền tệp, đồng bộ hóa dữ liệu,
và truyền thông đa phương tiện
Khoa Khoa Hoc May tinh 5 GVHD: ThS Lê Viết Trương
Trang 16CHUONG 1: SO LUOC VE LAP TRINH MANG
1.3 Cac giao thirc
1.3.1 Bộ giao thức liên quang (TP Protocol)
s% Giới thiệu:
Các giao thức liên mạng là bộ giao thức cho các hệ thông mở nỗi tiếng nhất trên
thể giới bởi vì chúng có thê được sử dụng đề giao tiếp qua bất kỳ các liên mạng nào cũng như thích hợp cho các giao tiếp trong mạng LAN và mạng WAN Các giao thức liên mạng bao gồm một bộ các giao thức truyền thông, trong đó nổi tiếng nhất là Giao thức điều khiên truyén tai (TCP - Transmission Control Protocol) va Giao thức liên mạng (IP— Internet Protocol) hoat động ở tầng 4 và tầng 3 trên mô hình OSI Bộ giao thức liên mạng lần đầu tiên được phát triển vào giữa những năm củathập niên 70 khi Văn phòng các dự
án nghiên cứu chuyên sâu của bộ quốc phòng Mỹ(DARPA-Defense Advanced Research Projects Agency) quan tâm đến việc xây dụngmột mạng chuyển mạch gói (packetswitched network) cho phép việc trao đôi thông tingiữa các hệ thống máy tính khác nhau của các viện nghiên cứu trở nên dễ đàng hơn Với ý tưởng nối các hệ thống máy tính không đồng nhất lại với nhau, DARPA đã cắpkinh phí nghiên cứu cho đại học Stanford, Bolt, Beranek, and Newman (BBN) về vắnđề này Kết quả của những nỗ lực phát triển của đự án này là bộ giao thức Liên mạngđã được hoàn thành vào những năm
cudi cua thập niên bảy mươi
Ngoài hai giao thức này, bộ giao thức IP còn đặc tả nhiều giao thức cho tầng ứng dụng, ví đụ như giao thức cho dịch vụ thư điện tử, giao thức mô phỏng thiết bị đầu cuối
và giao thức truyền tải tập tin IP được đặc tả trong bảng báo cáo kỹ thuật có tên REC (Request For Comments) mã số 791 và là giao thức chủ yếu trong Bộ giao thức liên mạng Cùng với giao thức TCP, IP trở thành trái tim của bộ giao thức Internet IP có hai chức năng chính:
- Cung cấp dịch vụ truyền tải dạng không nối kết dé chuyên tải các gói tin qua một
liên mạng
- Phân mãnh cũng như tập hợp lại các góitin để hỗ trợ cho tầng liên kết đữ liệu
với kích thước đơn vi truyền đữ liệu là khác nhau
Khoa Khoa Hoc May tinh 6 GVHD: ThS Lê Viết Trương
Trang 17$% Cấu trúc địa chỉ IP:
Mỗi máy tính trên mạng TCP/IP phải được gán một địa chỉ luận lý có chiều dài 32 bits, goi la dia chi IP
32 bits của địa chỉ IP được chia thành 2 phần: Phần nhận dang mang (network id)
và phần nhận dang may tinh (Host id) Phần nhận dạng mạng được dùng để nhận đạngmột mạng va phai duoc gan boi Trung tam thong tin mang Internet (InterNIC - InternetNetwork Information Center) néu mu6n noi két vao mang Internet Phần nhận dangmay tinh ding dé nhan dạng một máy tính trong một mạng
Khoa Khoa Hoc May tinh 7 GVHD: ThS Lê Viết Trương
Trang 18CHUONG 1: SO LUOC VE LAP TRINH MANG
No table of figures entries found
Class E2: DE Sra) | Reserved (unused)
Hình 4: Phân loại địa chỉ HP
Nó cũng bào gồm một cơ chế điều khiển thông lượng cho mỗi luồng bytes này, để
cho phép bên nhận giới hạn lượng dữ liệu mà bên gởi có thé truyén tại một thời điểm nào
đó TCP cũng hỗ trợ cơ chế đa hợp, cho phép nhiều tiến trình trênmột máy tính có thê
đồng thời thực hiện đối thoại với đối tác của chúng
Những yếu tổ cơ bản của bộ giao thức TCP
- Đáng tin cậy: TCP đảm bảo việc truyền đữ liệu đáng tin cậy giữa hai thiết bị trên mạng Nó sử dụng một số cơ chế như giao thức hứng phản (acknowledgment), kiểm tra lỗi (error checking), và tải gửi (retransmission) để đảm bảo dữ liệu không bị mắt, bị hỏng hoặc đến không đúng thứ tự
- Kết nối hướng đôi (full-duplex): TCP hỗ trợ kết nói hai chiều đồng thời giữa hai
thiết bị Điều này cho phép dữ liệu được truyền đi và truyền về cùng một lúc.Quản lý
Khoa Khoa Hoc May tinh 8 GVHD: ThS Lê Viết Trương
Trang 19luồng dữ liệu: TCP sử dụng cơ chế cửa số truot (sliding window) dé quan ly viéc truyén
dữ liệu giữa hai thiết bị Cơ chế này cho phép điều chỉnh tốc độ truyền dữ liệu và kiểm
soát việc tràn bộ đệm
- Định vị và định danh: TCP sử dụng cổng (port) đề định danh các ứng dụng và
dịch vụ trên mạng Mỗi kết nối TCP được xác định bằng một cặp dia chi IP va số công
- Giao thức kết nối: TCP sử dụng mô hình giao thức kết nỗi ba bước (three-way
handshake) đề thiết lập và chấm dứt kết nối mạng
- Ba bước này bao gồm: yêu cầu kết nối (SYN), phản hồi kết nối (SYN-ACK) và
xác nhận kết nối (ACK)
- Giao thức độc lập với ứng dụng: TCP được thiết kế để hoạt động độc lập với các ứng dụng cụ thê Điều này có nghĩa là các ứng dụng có thể sử dụng TCP để truyền đữ liệu mà không cần quan tâm đến chi tiết về việc quản lý kết nối và đáng tin cậy s% TCP heared
Khoa Khoa Hoc May tinh 9 GVHD: ThS Lê Viết Trương
Trang 20CHUONG 1: SO LUOC VE LAP TRINH MANG
Source Port (16) Destination Port (16)
Sequence Number (32)
20 Acknowledgment Number (32) Bytes
lon (2) Reserved (6)| Code Bits(6) Window (16)
Hinh 5: Hinh TCP heared
Header TCP là một phân của gói tin TCP và chứa các trường thông tin quan trọng
đề điều khiến việc truyền tải đữ liệu qua mạng Dưới đây là mô tả các trường chính trong header TCP:
- Source Port (Công nguồn): Đây là số công nguồn của thiết bị gửi dữ liệu Công
nguồn xác định ứng dụng hoặc dịch vụ cụ thể trên thiết bị nay
- Destination Port (Céng dich): Day la s6 cong dich cua thiét bi nhan dit liéu
Công đích xác định ứng dụng hoặc dịch vụ cụ thể trên thiết bị này
- Sequence Number (Số thứ tự): Đây là số thứ tự của byte đầu tiên trong đữ liệu trong segment hiện tại Nó được sử dụng đề đảm bảo việc lắp ráp đữ liệu ở đúng thứ tự tại điểm đích
- Acknowledgment Number (Số ACK): Đây là số xác nhận (ACK) của byte kế
tiếp mà người nhận mong đợi nhận được từ thiết bị gửi Nó được sử dụng để xác nhận
Khoa Khoa Hoc May tinh 10 GVHD: ThS Lê Viết Trương
Trang 21rằng đữ liệu đã được nhận và thông báo cho thiết bị gửi biết được byte tiếp theo mà nó có
thê gửi
- Data Offset (Độ lệch dữ liệu): Đây là số lượng từ 32-bit trong header TCP Nó
xác định độ đài của header TCP và cũng chỉ định vị trí bắt đầu của dữ liệu
- Flags (Cờ): Các cờ TCP được sử đụng đề kiểm soát các trạng thái và chức năng
đặc biệt trong giao thức
- Window Size (Kích thước cửa số): Đây là số lượng byte mà người nhận có thể chấp nhận trong một lần truyền tải trước khi cần gửi ACK trở lại
1.3.3 Lập trình SOCKET
Socket là một khái niệm cơ bản trong lĩnh vực mạng và lập trình ứng dụng, đại
diện cho một điểm kết nối hai chiều giữa hai máy tính hoặc quá trình (process) trên mạng Nó cho phép các máy tính hoặc các quá trình trao đôi dữ liệu qua mạng thông qua giao thức TCP/IP
Socket duoc str dung dé thiét lập, duy trì và quản lý kết nối mạng giữa các máy tính Nó cung cấp một giao điện lập trình ứng dụng (API) cho việc truyền và nhận đữ liệu qua mạng Các ứng dụng có thể sử dụng socket đề kết nối và giao tiếp với nhau, truyền
tái dữ liệu, gửi và nhận tin nhắn, và thực hiện các hoạt động mạng khác
[ethernet [Toke] rene | ATM Token|| Frame
Hinh 6: M6 ta Socket va mé hinh TCP
Khoa Khoa Hoc May tinh ll GVHD: ThS Lê Viết Trương
Trang 22CHUONG 1: SO LUOC VE LAP TRINH MANG
- TCP Socket: Str dung giao thirc TCP, socket TCP cung cap một kênh truyền tin
cay, dam bao viéc truyén tải dữ liệu mà không bị mat mát và dam bảo thứ tự của các gói
tin Socket TCP thường được sử dụng trong các ứng dụng yêu cầu tính tin cậy như truyền tải tệp tin, email, truyền tải đữ liệu qua mạng
- UDP Socket; Socket UDP (User Datagram Protocol): St dung giao thức UDP, socket UDP cung cấp một kênh truyền không đảm bảo tính tin cậy, không đảm bảo thử tự
và có thể xảy ra mất mát gói tin Socket UDP thường được sử dụng trong các ứng dụng cần tốc độ truyền tải cao như trò chơi trực tuyên, phát sóng trực tiếp
s» Mô hình TCP socket
£ Server
„ Kênh kết nỗi > I ere
Hinh 7: Socket trong m6 hinh wng dung Client - Server
TCP là một giao thức có liên kết, nghĩa là cần phải thiết lập liên kết giữa hai
thựcthê TCP trước khi chúng trao đổi đữ liệu với nhau Một tiến trình ứng dụng trong mộtmáy tính truy nhập vào các dịch vụ của giao thức TCP thông qua một công port của
TCP.Số hiệu công TCP được thê hiện bởi 2 bytes
Một công TCP kết hợp với địa chỉ IP tạo thành một đầu nối TCP/IP (socket)
duynhất trong liên kết mạng Dịch vụ TCP được cung cấp nhờ một kiên kết logic giữa một cặp đầu nối TCP/IP
Một đầu nối TCP/IP có thê tham gia nhiều liên kết với các đầu nỗiTCP/IP ở xa khác
nhau Trước khi truyền dữ liệu giữa hai trạm cân thiết lập một liên kêt TCP giữa chúng và
khi không còn nhu câu truyền đữ liệu thì liên kết đó sẽ được giải phóng
Khoa Khoa Hoc May tinh 12 GVHD: ThS Lê Viết Trương
Trang 23Lap trinh JAVA
1.4.1 Gidéi thigu vé JAVA
Java là một ngôn ngữ lập trình phô biến và mạnh mẽ được phát triển bởi Sun Microsystems (hién nay 1a Oracle) No duge thiét ké dé có tính đi động, dễ mở rộng, bảo mật và có khả năng chạy trên nhiều nền tảng khác nhau Nó có cú pháp tương tự với ngôn ngữ C++, nhưng có nhiều đặc điểm và tính năng riêng
Java được khởi đầu bởi James Gosling và bạn đồng nghiệp ở Sun MicroSystem
năm 1991 Ban đầu Java được tạo ra nhằm mục đích viết phan mềm cho các sản phẩm gia dụng, và có tên là Oak Java được chính thức phát hành năm 1994, đến năm 2010 được Oracle mua lại từ Sun MicroSystem
&, Java
—_—— ———== - ; Khoa Khoa Hoc May tinh Hình (Ủng dụng Java GVAD ThS Lê Viết Truong