1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng trò chơi Caro online trên Android

60 2,5K 42
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây Dựng Trò Chơi Caro Online Trên Android
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Công Nghệ Thông Tin
Thể loại Niên luận
Định dạng
Số trang 60
Dung lượng 1,65 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Niên luận xây dựng trò chơi caro online trên nền tảng Android

Trang 1

Mục lục

Mục lục i

CHƯƠNG 1: TỔNG QUAN 1

1.1 ĐẶT VẤN ĐỀ 1

1.2 MÔ TẢ TRÒ CHƠI 1

1.3 MỤC TIÊU – PHẠM VI ĐỀ TÀI 3

1.3.1 MỤC TIÊU 3

1.3.2 PHẠM VI ĐỀ TÀI 3

1.4 PHƯƠNG PHÁP NGHIÊN CỨU GIẢI QUYẾT VẤN ĐỀ 4

1.4.1 PHƯƠNG PHÁP NGHIÊN CỨU 4

1.4.2 HƯỚNG GIẢI QUYẾT 5

1.4.3 PHÂN CÔNG CÔNG VIỆC 6

1.5 BỐ CỤC ĐỀ TÀI 7

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 9

2.1 GIỚI THIỆU VỀ LẬP TRÌNH TRÊN HỆ ĐIỀU HÀNH ANDROID 9

2.1.1 TỔNG QUAN 9

2.1.2 LỊCH SỬ VÀ HIỆN TRẠNG MẠNG 9

2.1.3 KIẾN TRÚC ỨNG DỤNG 12

2.2 TỔNG QUAN VỀ MẠNG MÁY TÍNH 14

2.2.1 KHÁI NIỆM 14

2.2.2 ỨNG DỤNG CỦA MẠNG MÁY TÍNH 14

2.2.3 CÁC THÀNH PHẦN CƠ BẢN 16

2.2.4 MÔ HÌNH OSI 16

2.3 GIỚI THIỆU VỀ LẬP TRÌNH SOCKET 23

2.3.1 KHÁI NIỆM VỀ SOCKET 23

2.3.2 CƠ CHẾ GIAO TIẾP 24

2.3.3 CÁC CHẾ ĐỘ GIAO TIẾP 25

2.3.4 SO SÁNH GIỮA TCP VÀ UDP 26

CHƯƠNG 3 NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU 27

3.1 XÂY DỰNG TRÒ CHƠI CỜ CARO ONLINE 27

Trang 2

3.1.1 ĐẶC TẢ CHI TIẾT ĐỀ TÀI 27

3.1.2 KIẾN TRÚC CHƯƠNG TRÌNH 28

3.1.3 SERVER 28

3.1.4 CLIENT 28

3.1.5 XÂY DỰNG BÀN CỜ 29

3.1.6 GIẢI THUẬT 30

3.1 XÂY DỰNG SERVER 33

3.2.1 CHỨC NĂNG 33

3.2.2 CÁC THÀNH PHẦN CỦA SERVER 34

3.2.3 HƯỚNG GIẢI QUYẾT 34

3.3 XÂY DỰNG CLIENT 39

3.3.1 CHỨC NĂNG 39

3.3.2 VẤN ĐỀ ĐẶT RA 39

3.3.3 HƯỚNG GIẢI QUYẾT 39

3.3.4 CÁC THÀNH PHẦN CỦA CHƯƠNG TRÌNH 40

3.3.5 THIẾT KẾ SERVICE 41

3.3.6 THIẾT KẾ GIAO DIỆN VÀ CHỨC NĂNG 41

3.4 CẤU TRÚC THÔNG ĐIỆP GIỮA CLIENT VÀ SERVER 43

3.4.1 MÔ HÌNH TỔNG QUAN 43

3.4.2 ĐĂNG KÝ 44

3.4.3 ĐĂNG NHẬP 45

3.4.4 YÊU CẦU CHƠI 46

3.4.5 CHAT VÀ ĐÁNH CỜ 48

3.5 CHƯƠNG TRÌNH DEMO 49

3.5.1 SƠ ĐỒ CHỨC NĂNG 49

3.5.2 GIAO DIỆN CHƯƠNG TRÌNH 49

3.5.3 GIAO DIỆN ĐĂNG NHẬP 50

3.5.4 GIAO DIỆN ĐĂNG KÝ 51

3.5.5 GIAO DIỆN NGƯỜI CHƠI ONLINE 51

3.5.6 GIAO DIỆN CHƠI CỜ 52

3.5.7 GIAO DIỆN CHAT 52

3.5.8 GIAO DIỆN CÀI ĐẶT 53

Trang 3

3.5.9 GIAO DIỆN THÔNG TIN ỨNG DỤNG 53

3.5.10 GIAO DIỆN THÔNG TIN CÁ NHÂN 54

CHƯƠNG 4 KẾT LUẬN-HƯỚNG PHÁT TRIỂN 55

4.1 KẾT QUẢ ĐẠT ĐƯỢC 55

4.1.1 KẾT QUẢ ĐẠT ĐƯỢC 55

4.1.2 ƯU ĐIỂM 55

4.2 HƯỚNG PHÁT TRIỂN 56

TÀI LIỆU THAM KHẢO 57

Trang 4

CHƯƠNG 1: TỔNG QUAN1.1 ĐẶT VẤN ĐỀ

Cùng với sự phát triển của hệ điều hành android - một nền tảng mã nguồn mở mới chocác thiết bị di động dựa trên Linux Kernel, hiện đang được Google phát triển Thúc đẩy cácdòng điện thoại thông minh của nhiều hãng điện thoại lớn trên thế giới liên tiếp ra đời sửdụng hệ điều hành này Và vì vậy, việc phát triển ứng dụng cho các thiết bị sử dụng nền tảngmới này cũng đang là xu thế của lĩnh vực công nghệ thông tin, thu hút sự tham gia của rấtnhiều lập trình viên trên toàn thế giới

Trước xu thế đó, nhóm chúng em quyết định chọn đề tài “Xây dựng trò chơi cờ caro

online trên hệ điều hành Android”.

Đây một trò chơi thuộc loại trò chơi bàn cờ, thi đấu trí tuệ giữa 2 người tham gia

Hiện tại thì trên nhiều trang web cũng có nhiều phần mềm để chơi trò chơi này qua mạng,nhưng chủ yếu là chơi trên máy tính Còn trên thiết bị android thì cũng có nhiều phần mềmchơi caro, nhưng đa số phần mềm chỉ đáp ứng việc luyện tập với máy tính, hoặc chơi trêncùng một chiếc điện thoại

Cho nên nhóm em hi vọng có thể xây dựng một ứng dụng để có thể cho phép người chơi thiđấu trực tiếp với nhau trên chiếc điện thoại của họ thông qua internet

Cũng hi vọng qua đề tài này, chúng em có thể tiếp cận một xu thế mới của lĩnh vựccông nghệ thông tin, cũng như học tập được nhiều điều mới Và phần mềm làm ra có thể ứngdụng vào thực tế Trong quá trình thực hiện, chúng em rất mong nhận được sự góp ý, phảnhồi từ thầy cô, các bạn đọc để kịp thời sữa chữa những thiếu sót

1.2 MÔ TẢ TRÒ CHƠI

Cờ caro chính là môn cờ logic cổ xưa nhất trên thế giới Có nguồn góc từ nhiều nền vănhóa khác nhau Một số nhà khoa học cho rằng cờ caro có nguồn góc từ Hy Lạp và ở Châu Mỹtrước thời Colombo Đa số nhà khoa học khác thì cho rằng cờ caro có nguồn góc từ một môn

cờ cổ của Trung Quốc, có tên là Wutzu từ 2000 năm TCN Cờ caro đặt biệt phát triển vàokhoảng thế kỉ 17, 18 tại Nhật Bản với tên gọi là Gomuku Tiếng anh sử dụng lại tiếng nhật

Trang 5

cũng gọi là Gumoku Nhưng khi trình độ của các kì thủ ngày càng được nâng cao thì họ nhận

ra rằng bên đi trước sẽ chiếm quá nhiều ưu thế thắng Các nhà khoa học cũng nghiên cứurằng chơi trên bàn cờ Gomuku 15x15 hoặc rộng hơn thì bên đi trước sẽ chắc chắn thắng Dẫnđến một thời kì khủng hoảng của Gomuku

Vì vậy đã ra đời một biến thể của loại cờ này tên Renju - với những luật khắc khe hơn như:người đi trước phải đi nước đầu tiên vào trung tâm bàn cờ, không được tạo thành các bẫy 3-3,4-4, nước Overline ( 1 hàng >= 6 quân không được thắng )

Nhưng trong giới hạn của đề tài này chúng em chỉ nghiên cứu về loại cờ caro phổ biến vớiluật chơi sau:

như vậy gọi là một lượt đi

5 quân cờ của mình

Ngoài ra, vì đặc điểm của loại cờ này là quân cờ khi đi rồi không thể di chuyển được nữa, nênngười ta còn chơi trên giấy tập Như ở Việt Nam thì cờ caro được chơi trên giấy tập với bút, 2

loại quân cờ được kí hiệu lần lượt là X và O.

Trang 6

Hình 1.1 Một số hình ảnh về trò chơi cờ caro trên một số website cung cấp game.

Hình 1.2 Giao diện của một phần mềm chơi cờ caro trên hệ điều hành Androiod.

1.3 MỤC TIÊU – PHẠM VI ĐỀ TÀI

1.3.1 MỤC TIÊU

Đề tài “Xây dựng trò chơi cờ caro online trên hệ điều hành Android” nhằm xây dựng

một chương trình game online và có thể ứng dụng trong thực tế Ngoài ra, sản phẩm của đề tàigiúp cho người chơi có thể giải trí với nhiều bạn bè ở xa, ở bất kì đâu với những chiếc điệnthoại hỗ trợ hệ điều hành Android

1.3.2 PHẠM VI ĐỀ TÀI

Đề tài sẽ xây dựng chương trình “Game caro online trên hệ điều hành Android” Theo

đó, đề tài sẽ chủ yếu xoay quanh những nội dung sau:

- Xây dựng Client, giao diện chương trình phía người chơi sẽ được viết cho tương thíchvới nhiều phiên bản hệ điều hành Android, cũng như nhiều điện thoại Android có độ phân giảimàn hình khác nhau Cụ thể ở trong đề tài này sẽ được demo trên điện thoại Google NexusOne - hệ điều hành Android v2.1

- Người chơi sẽ sử dụng những điện thoại có hệ điều hành Android (từ 1.6 trở lên), càichương trình này lên điện thoại Để sử dụng được chương trình, người chơi phải đăng kí tàikhoản trực tuyến Sau khi đăng kí tài khoản, người chơi sẽ đăng nhập vào hệ thống để có thể

Trang 7

mời những người đang online và chưa tham gia bàn chơi nào trên hệ thống để chơi, ván cờ sẽđược bắt đầu khi cả hai bên chấp nhận Ngoài ra, phía Client chương trình sẽ kiểm tra tínhđúng đắn của nước đi, kiếm tra nước cờ vừa đi có thắng hay không và gửi về cho Server đểServer tính toán và xử lý.

- Xây dựng server để xử lý thông tin nhận được từ chương trình được cài đặt trên điệnthoại người chơi Thông tin được xử lý bao gồm người chơi nào, xếp hạng, thông tin nước đicủa từng người chơi, truyền thông điệp thắng-thua, lưu điểm

1.4 PHƯƠNG PHÁP NGHIÊN CỨU GIẢI QUYẾT VẤN ĐỀ

1.4.1 PHƯƠNG PHÁP NGHIÊN CỨU

Sau đây là phương pháp nghiên cứu của tác giả để có thể thực hiện đề tài Trong thờigian 10 tuần, tác giả sẽ nghiên cứu và vận dụng kiến thức có được để xây dựng đề tài mộtcách tốt nhất Phương pháp nghiên cứu trong đề tài này như sau:

- Tìm hiểu yêu cầu cụ thể của đề bài

- Phân tích yêu cầu của đề bài

- Xác định rõ phạm vi của đề bài

- Đánh giá hệ thống và lập kế hoạch công việc

- Tìm hiểu lý thuyết liên quan đến đề tài

- Vận dụng lý thuyết để xây dựng hệ thống cụ thể

- Kiểm thử chương trình, sửa lỗi và hoàn thiện các chức năng

- Báo cáo kết quả đạt được

1.4.2 HƯỚNG GIẢI QUYẾT

Từ việc tìm hiểu và làm rõ nội dung sẽ đi đến những hướng giải quyết cơ bản như sau:

- Áp dụng kĩ thuật lập trình trên hệ điều hành Android để xây dựng chương trìnhClient

- Áp dụng kĩ thuật lập trình mạng bằng giao thức Socket TCP kết hợp với lập trình

đa luồng để xây dựng Server Server này đóng vai trò là nơi trung gian để giao tiếp giữacác Client và cũng nơi lưu trữ và cập nhật thông tin,điểm của người chơi

Trang 8

- Sử dụng các công cụ để phát triển như: Esclipse, Netbeans, SDK Manager.

1.4.3 PHÂN CÔNG CÔNG VIỆC

gian

Đánhgiá

- Cơ sở lý thuyết và ngôn

Tuần

- Cở sở lý thuyết Lậptrình mạng và ngôn ngữJava

Võ Nguyên Khoa

lưu đồ thuật toán

- Phân tích, thiết kế giao

Tuần 6 Tốt

- Phân tích, thiết kế lưu

Báo cáo demo

Nộp quyển báo cáo

lần 1

- Báo cáo demo

- Nộp quyển báo cáo

Võ Nguyên KhoaBùi Ngọc Nguyễn

Tuần

6

Chỉnh sửa demo và

báo cáo theo góp ý

của giáo viên

- Chỉnh sửa demo theogóp ý của GVHD

Võ Nguyên KhoaBùi Ngọc Nguyễn

Tuần

Trang 9

7 Nộp báo cáo chính

thức

- Nộp báo cáo chínhthức

Võ Nguyên KhoaBùi Ngọc Nguyễn

- Giới thiệu về lập trình trên thiết bị di động trên hệ điều hành Android

- Lý thuyết mạng máy tính, các giao thức mạng máy tính, các phương thức giaotiếp mạng máy tính.Đặc biệt là chú trọng vào giao thức TCP/IP

- Lý thuyết lập trình mạng, cơ chế giao tiếp thông qua Socket

Chương 3: Nội dung và kết quả nghiên cứu – Từ việc nghiên cứu, phân tích đề tài ởchương 1, vận dụng cơ sở lý thuyết ở chương 2, chương 3 sẽ tiến hành xây dựng trò chơi cờCaro online hoàn chỉnh Ở chương này, các giai đoạn thực hiện, chi tiết kĩ thuật để xây dựng

sẽ được trình bày cụ thể bao gồm mô hình kiến trúc hệ thống, cách xây dựng chương trình ởClient và Server, các thông điệp giao tiếp giữa Client và Server Tiếp theo đó là demo củachương trình sẽ được giới thiệu ở cuối chương

Chương 4: Tổng kết-Đánh giá –Chương này sẽ tổng kết lại những kết quả đạt được, ưuđiểm, mặt hạn chế còn tồn tại và đề ra những phương hướng phát triển trong thời gian sắp tới

để chương trình ngày càng thân thiện với người dùng và phát triển hơn

Bảng 1.1 Bảng phân công công việc

Trang 11

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT2.1 GIỚI THIỆU VỀ LẬP TRÌNH TRÊN HỆ ĐIỀU HÀNH ANDROID

2.1.1 TỔNG QUAN

Hệ điều hành Android là một hệ điều hành dựa trên nền tảng Linux được thiết kế vớimục đích chính là dành cho các thiết bị di động cảm ứng như điện thoại thông minh hoặc máytính bảng

Ý tưởng phát triển ban đầu bởi công ty Android Inc ở Palo Alto, California thành lậpvào tháng 10 năm 2003 Sau đó được Google mua lại vào năm 2003

Hiện tại Android là một hệ điều hành mở được phát triển bởi Liên Minh Thiết Bị Cầm Tay doGoogle dẫn đầu, cùng với các thành viên là những công ty hàng đầu về công nghệ và thiết bị

di động trên toàn cầu như: T-mobile, HTC, Intel, LG, Qualcomm, Samsung Electronics,Sprint Nextel, Marvell Technology, Motorola, Google đã công bố hầu hết mã nguồn của

hệ điều hành android dưới giấy phép Apache License.

Là một phần mềm mã nguồn mở nên Android có một cộng đồng phát triển rất lớn trêntoàn thế giới Lợi thế đó giúp cho Android nhanh chóng trở thành một trong những hệ điềuhành phổ biến nhất cho các thiết bị di động hiện nay, với những tính năng hoàn thiện

Trang 12

T-Từ lúc ra đời đến nay, Android đã được cải tiến, cập nhật không ngừng Tính đến nay đã có 9phiên bản của hệ điều hành này Được thống kê sơ lược qua bảng sau:

Bảng 2.1 Bảng tóm tắt các phiên bản của hệ điều hành android Phiên bản Tên Ngày phát hành Ghi chú

4.2

Jelly Bean

Ngày 13, 11-2012 Cải thiện các tính năng và hiệu suất của giao

diện người dùng, tạo cảm giác mượt màhơn,

4.0.x Ice Cream Sandwich Ngày 16, 12-2011 Nhiều cải tiến mới như: trình duyệt hỗ trợ các

tab, gmail cho xem trước 2 dòng,

3.2

Honeycomb Ngày 15, 7-2011 Hệ điều hành dành riêng cho máy tính bảng,

hỗ trợ bộ xử lý đa nhân, xử lý đồ họa

2.3.3–2.3.7

Gingerbread Ngày 9, 2-2011 Cải thiện giao diện người dùng, bàn phím ảo,

tính năng copy/paste, hỗ trợ công nghệ RFC

Nâng cấp tốc độ xử lí, giới thiệu engineChrome V8 Javascript, hỗ trợ Adobe Flash,tạo điểm truy cập wifi

2.0–2.1 Eclair Ngày 26, 10-2009 Cải tiến giao diện người dùng, giới thiệu

HTML 5, hỗ trợ Exchange ActiveSync 2.5

1.6 Donut Ngày 15, 12-2009 Hỗ trợ tiềm kiếm bằng giọng nói, công nghệ

CDMA/EVDO, màn hình WVGA

1.5 Cupcake Ngày 30, 4-2009 Hỗ trợ Bluetooth A2DP và AVRCP, cập nhật

giao diện người dùng

1.1 Vá lỗi bảo mật, hạn chế sự can thiệp vào

ROM của máy

Android ngày càng lớn mạnh về số lượng và chất lượng bởi sự linh hoạt từ nền tảngGoogle, phù hợp với cả smartphone tầm thấp lẫn giá cao Hàng loạt các nhà sản xuất điệnthoại di động sử dụng Android làm hệ điều hành chính cho các sản phẩm của mình NhưHTC, Samsung, LG, Motorola, Sony Ericsson Từ điện thoại, cho đến máy tính bảng của các

Trang 13

hãng này đều dùng hệ điều hành Android Các nhà lập trình viết ứng dụng ngày càng nhiềutrên Android Market Kho ứng dụng đang cạnh tranh trực tiếp với AppStore của Apple

Bảng 2.2 Bảng thống kê 6 hệ điều hành smartphone phổ biến nhất toàn cầu

Lượng máy xuất xưởng quý III/2012 (triệu máy)

Thị phần quý

III/2012

Lượng máy xuất xưởng quý III/2011 (triệu máy)

Thị phần quý

III/2011

Mức tăng trưởng theo năm

Trang 14

2.1.3 KIẾN TRÚC ỨNG DỤNG

Trang 15

Kiến trúc ứng dụng của android gồm 4 phần chính:

Hình 2.1 Mô hình kiến trúc ứng dụng Android

trong quý III/2012 từ IDC

Trang 16

Chu kì sống của một ứng dụng android:

Hình 2.2 Chu kì sống của một ứng dụng Android

Trang 17

2.2 TỔNG QUAN VỀ MẠNG MÁY TÍNH

2.2.1 KHÁI NIỆM

Mạng máy tính là một tập hợp các máy tính được nối với nhau bởi môi trường truyền (đường truyền) theo một cấu trúc nào đó và thông qua đó các máy tính trao đổi thông tin qua lại cho nhau.

2.2.2 ỨNG DỤNG CỦA MẠNG MÁY TÍNH

Ngày nay với một lượng lớn về thông tin, nhu cầu xử lý thông tin ngày càng cao.Mạng máy tính hiện nay trở nên quá quen thuộc đối với chúng ta, trong mọi lĩnh vực nhưkhoa học, quân sự, quốc phòng, thương mại, dịch vụ, giáo dục… Hiện nay ở nhiều nơi mạng

đã trở thành một nhu cầu không thể thiếu được Người ta thấy được việc kết nối các máy tínhthành mạng cho chúng ta những khả năng mới to lớn như:

Hình 2.3 Mô hình mạng máy tính

Trang 18

Sử dụng chung tài nguyên: Những tài nguyên của mạng (như thiết bị, chương trình,

dữ liệu) khi được trở thành các tài nguyên chung thì mọi thành viên của mạng đều có thể tiếpcận được mà không quan tâm tới những tài nguyên đó ở đâu

Tăng độ tin cậy của hệ thống: Người ta có thể dễ dàng bảo trì máy móc và lưu trữ

(backup) các dữ liệu chung và khi có trục trặc trong hệ thống thì chúng có thể được khôi phụcnhanh chóng Trong trường hợp có trục trặc trên một trạm làm việc thì người ta cũng có thể

sử dụng những trạm khác thay thế

Nâng cao chất lượng và hiệu quả khai thác thông tin: Khi thông tin có thể được sử

dụng chung thì nó mang lại cho người sử dụng khả năng tổ chức lại các công việc với nhữngthay đổi về chất như:

- Đáp ứng những nhu cầu của hệ thống ứng dụng kinh doanh hiện đại

- Cung cấp sự thống nhất giữa các dữ liệu

- Tăng cường năng lực xử lý nhờ kết hợp các bộ phận phân tán

- Tăng cường truy nhập tới các dịch vụ mạng khác nhau đang được cung cấp trên thếgiới

Hình 2.3 Ứng dụng của mạng máy tính – in qua mạng

Trang 19

2.2.3 CÁC THÀNH PHẦN CƠ BẢN

Một hệ thống mạng tổng quát được cấu thành từ 3 thành phần:

-Đường biên mạng ( Network Edge ): Gồm các máy tính (Host) và các chương trình

ứng dụng mạng (Network Application)

-Đường trục mạng ( Network Core): Gồm các bộ chọn đường (router) đóng vài trò là

một mạng trung tâm nối kết các mạng lại với nhau

-Mạng truy cập, đường truyền vật lý (Access Network , physical media): Gồm các

đường truyền tải thông tin

2.2.4 MÔ HÌNH OSI

Mô hình OSI (Open Systems Interconnection Reference Model) là một thiết kế dự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ácmáy vi tính và thiết kế giao thức mạng giữa chúng Mô hình này được phát triển bởi tổ chứctiêu chuẩn thế giới ISO (International Standard Organization)

Hình 2.5 Mô hình OSI

Trang 20

Tường trình các tầng cấp của mẫu hình OSI:

Tầng 1: Tầng vật lí (Physical Layer)

Tầng vật lí định nghĩa tất cả các đặc tả về điện và vật lý cho các thiết bị Trong đó bao

gồm bố trí của các chân cắm (pin), các hiệu điện thế, và các đặc tả về cáp nối (cable) Các thiết bị tầng vật lí bao gồm Hub, bộ lặp (repeater), thiết bị tiếp hợp mạng (network adapter)

và thiết bị tiếp hợp kênh máy chủ (Host Bus Adapter)- (HBA dùng trong mạng lưu trữ (Storage Area Network)) Chức năng và dịch vụ căn bản được thực hiện bởi tầng vật lý bao

gồm:

truyền dẫn phương tiện truyền thông (transmission medium).

giữa nhiều người dùng Chẳng hạn giải quyết tranh chấp tài nguyên (contention) và

điều khiển lưu lượng

thiết bị người dùng và các tín hiệu tương ứng được truyền qua kênh truyền thông

(communication channel).

Cáp (bus) SCSI song song hoạt động ở tầng cấp này Nhiều tiêu chuẩn khác nhau của

Ethernet dành cho tầng vật lý cũng nằm trong tầng này; Ethernet nhập tầng vật lý với tầngliên kết dữ liệu vào làm một Điều tương tự cũng xảy ra đối với các mạng cục bộ như Tokenring, FDDI và IEEE 802.11

Tầng 2: Tầng liên kết dữ liệu (Data Link Layer)

Tầng liên kết dữ liệu cung cấp các phương tiện có tính chức năng và quy trình đểtruyền dữ liệu giữa các thực thể mạng, phát hiện và có thể sửa chữa các lỗi trong tầng vật lýnếu có Cách đánh địa chỉ mang tính vật lý, nghĩa là địa chỉ (địa chỉ MAC) được mã hóa cứngvào trong các thẻ mạng (network card) khi chúng được sản xuất Hệ thống xác định địa chỉnày không có đẳng cấp (flat scheme) Chú ý: Ví dụ điển hình nhất là Ethernet Những ví dụkhác về các giao thức liên kết dữ liệu (data link protocol) là các giao thức HDLC; ADCCP

Trang 21

dành cho các mạng điểm-tới-điểm hoặc mạng chuyển mạch gói (packet-switched networks)

và giao thức Aloha cho các mạng cục bộ Trong các mạng cục bộ theo tiêu chuẩn IEEE 802,

và một số mạng theo tiêu chuẩn khác, chẳng hạn FDDI, tầng liên kết dữ liệu có thể được chia

ra thành 2 tầng con: tầng MAC (Media Access Control - Điều khiển Truy nhập Đườngtruyền) và tầng LLC (Logical Link Control - Điều khiển Liên kết Lôgic) theo tiêu chuẩnIEEE 802.2

Tầng liên kết dữ liệu chính là nơi các cầu nối (bridge) và các thiết bị chuyển mạch (switches)hoạt động Kết nối chỉ được cung cấp giữa các nút mạng được nối với nhau trong nội bộmạng Tuy nhiên, có lập luận khá hợp lý cho rằng thực ra các thiết bị này thuộc về tầng 2,5chứ không hoàn toàn thuộc về tầng 2

Tầng 3: Tầng mạng (Network Layer)

Tầng mạng cung cấp các chức năng và qui trình cho việc truyền các chuỗi dữ liệu có

độ dài đa dạng, từ một nguồn tới một đích, thông qua một hoặc nhiều mạng, trong khi vẫn

duy trì chất lượng dịch vụ (quality of service) mà tầng vận chuyển yêu cầu Tầng mạng thực hiện chức năng định tuyến, Các thiết bị định tuyến (router) hoạt động tại tầng này — gửi dữ

liệu ra khắp mạng mở rộng, làm cho liên mạng trở nên khả thi (còn có thiết bị chuyển mạch

(switch) tầng 3, còn gọi là chuyển mạch IP) Đây là một hệ thống định vị địa chỉ lôgic (logical addressing scheme) – các giá trị được chọn bởi kỹ sư mạng Hệ thống này có cấu trúc

phả hệ Ví dụ điển hình của giao thức tầng 3 là giao thức IP

Tầng 4: Tầng vận chuyển (Transport Layer)

Tầng vận chuyển cung cấp dịch vụ chuyên dụng chuyển dữ liệu giữa các người dùngtại đầu cuối, nhờ đó các tầng trên không phải quan tâm đến việc cung cấp dịch vụ truyền dữliệu đáng tin cậy và hiệu quả Tầng vận chuyển kiểm soát độ tin cậy của một kết nối được cho

trước Một số giao thức có định hướng trạng thái và kết nối (state and connection orientated).

Có nghĩa là tầng vận chuyển có thể theo dõi các gói tin và truyền lại các gói bị thất bại Một

ví dụ điển hình của giao thức tầng 4 là TCP Tầng này là nơi các thông điệp được chuyển

Trang 22

sang thành các gói tin TCP hoặc UDP Ở tầng 4 địa chỉ được đánh là address ports, thông quaaddress ports để phân biệt được ứng dụng trao đổi.

Tầng 5: Tầng giao dịch (Session layer)

Tầng phiên kiểm soát các (phiên) hội thoại giữa các máy tính Tầng này thiết lập, quản

lý và kết thúc các kết nối giữa trình ứng dụng địa phương và trình ứng dụng ở xa Tầng này

còn hỗ trợ hoạt động song công (duplex) hoặc bán song công (half-duplex) hoặc đơn công (Single) và thiết lập các qui trình đánh dấu điểm hoàn thành (checkpointing) - giúp việc phục

hồi truyền thông nhanh hơn khi có lỗi xảy ra, vì điểm đã hoàn thành đã được đánh dấu - trì

hoãn (adjournment), kết thúc (termination) và khởi động lại (restart) Mô hình OSI uỷ nhiệm cho tầng này trách nhiệm "ngắt mạch nhẹ nhàng" (graceful close) các phiên giao dịch (một

tính chất của giao thức kiểm soát vận chuyển TCP) và trách nhiệm kiểm tra và phục hồiphiên, đây là phần thường không được dùng đến trong bộ giao thức TCP/IP

Tầng 6: Tầng trình bày (Presentation layer)

Lớp trình diễn hoạt động như tầng dữ liệu trên mạng lớp này trên máy tính truyền dữliệu làm nhiệm vụ dịch dữ liệu được gửi từ tầng Application sang dạng Fomat chung Và tạimáy tính nhận, lớp này lại chuyển từ Fomat chung sang định dạng của tầng Application Lớpthể hiện thực hiện các chức năng sau: - Dịch các mã kí tự từ ASCII sang EBCDIC - Chuyểnđổi dữ liệu, ví dụ từ số interger sang số dấu phảy động - Nén dữ liệu để giảm lượng dữ liệutruyền trên mạng - Mã hoá và giải mã dữ liệu để đảm bảo sự bảo mật trên mạng

Tầng 7: Tầng ứng dụng (Application layer)

Tầng ứng dụng là tầng gần với người sử dụng nhất Nó cung cấp phương tiện chongười dùng truy nhập các thông tin và dữ liệu trên mạng thông qua chương trình ứng dụng.Tầng này là giao diện chính để người dùng tương tác với chương trình ứng dụng, và qua đóvới mạng Một số ví dụ về các ứng dụng trong tầng này bao gồm Telnet, Giao thức truyền tậptin FTP và Giao thức truyền thư điện tử SMTP, HTTP, X.400 Mail remote

Trang 23

2.2.5 GIAO THỨC TCP/IP

a Tổng quan giao thức TCP/IP

Giao thức TCP/IP được phát triển từ mạng ARPANET và Internet và được dùngnhư giao thức mạng và vận chuyển trên mạng Internet TCP (Transmission ControlProtocol) là giao thức thuộc tầng vận chuyển và IP (Internet Protocol) là giao thứcthuộc tầng mạng của mô hình OSI Họ giao thức TCP/IP hiện nay là giao thức được sửdụng rộng rãi nhất để liên kết các máy tính và các mạng

Hiện nay các máy tính của hầu hết các mạng có thể sử dụng giao thức TCP/IP

để liên kết với nhau thông qua nhiều hệ thống mạng với kỹ thuật khác nhau Giao thứcTCP/IP thực chất là một họ giao thức cho phép các hệ thống mạng cùng làm việc vớinhau thông qua việc cung cấp phương tiện truyền thông liên mạng

Trang 24

Do nhiều nguyên nhân như lịch sử, chi phí… nên bộ giao thức TCP/IP đã được

sử dụng rất lâu trước khi mô hình OSI ra đời Cũng do vậy nên mô hình OSI khôngđược sử dung rộng rãi trong thực tế mà là mô hình học thuật dùng để so sánh với môhình thực tế là TCP/IP Hai cái có liên quan ít nhiều, song không phải là hoàn toàngiống nhau Điểm khác biệt đầu tiên dễ thấy nhất là số lượng của các tầng cấp Trongkhi bộ giao thức TCP/IP có 4 (hoặc 5 tầng) thì mô hình OSI có tới 7 tầng với sự khácbiệt là 2 tầng mới: tầng phiên và tầng trình diễn Nhiều so sánh đã gộp 2 tầng này vàotầng ứng dụng trong bộ giao thức TCP/IP

liệu thì đối với TCP/IP coi độ tin cậy nằm trong vấn đề end to end

chỉ làm nhiệm vụ kiểm tra độ tin cậy của source – to – destination Còn đối với bộ giaothức TCP/IP tầng vận chuyển làm mọi nhiệm vụ kiểm tra phát hiện và sửa lỗi

Hình 2.6 Mô hình TCP/IP và mô hình OSI

Hình 2.7 So sánh sự tương ứng giữa các tầng trong mô hinh TCP/IP và OSI

Trang 25

 Mô hình OSI được xây dựng trước khi các giao thức của nó được xây dựng, do vậy nó

có tính tổng quát cao và có thể được dùng để mô tả các mô hình khác Ngược lại, bộgiao thức TCP/IP chỉ là một mô hình để nhóm và miêu tả những giao thức sẵn có trongthực tế Vì vậy bộ giao thức TCP/IP được sử dụng rộng rãi trong thực tế trong khi môhình OSI lại phù hợp với mục đích học tập và giảng dạy

b Các tầng của giao thức TCP/IP

Tầng truy cập Mạng (Network access Layer):

- Tầng truy cập Mạng có trách nhiệm đưa dữ liệu tới và nhận dữ liệu từ phương tiện truyền dẫn Tầng này gồm các thiết bị phần cứng vật lí chẳng hạn như Card Mạng và Cáp Mạng

- 1 Card Mạng chẳng hạn card Ethernet chứa 1 số HEX 12 kí tự (00-18-37-03-C0-F4) được gọi là Địa Chỉ MAC (Media Access Control) hay Địa Chỉ Truy Nhập Phương Tiện MAC đóng vai trò quan trọng trong việc gán địa chỉ và truyền dữ liệu

- 1 số giao thức tiêu biểu thuộc tầng này gồm :

+ ATM (Asynchronous Transfer Mode)+ Ethernet

+ Token Ring+ FDDI (Fiber Distributed Data Interface)+ Frame Relay

Tầng Liên Mạng (Internet Layer):

- Nằm bên trên tầng giao diện mạng Tầng này có chức năng gán địa chỉ, đóng gói và định tuyến (Route) dữ liệu 4 giao thức quan trọng nhất trong tầng này gồm:

+ IP (Internet Protocol): Có chức năng gán địa chỉ cho dữ liệu trước khi truyền

Trang 26

+ IGMP (Internet Group Management Protocol): Có chức năng điều khiển truyền đa hướng (Multicast)

Tầng Vận chuyển (Transport Layer):

- Có trách nhiệm thiết lập phiên truyền thông giữa các máy tính và quy định cách truyền dữ liệu 2 giao thức chính trong tầng này gồm:

+ UDP (User Datagram Protocol): Còn gọi là Giao Thức Gói Người Dùng.UDP cung cấp các kênh truyền thông phi kết nối nên nó không đảm bảo truyền

dữ liệu 1 cách tin cậy Các ứng dụng dùng UDP thường chỉ truyền những gói cókích thước nhỏ, độ tin cậy dữ liệu phụ thuộc vào từng ứng dụng + TCP (Transmission Control Protocol): Ngược lại với UDP, TCP cung cấp cáckênh truyền thông hướng kết nối và đảm bảo truyền dữ liệu 1 cách tin cậy TCPthường truyền các gói tin có kích thước lớn và yêu cầu phía nhận xác nhận vềcác gói tin đã nhận

+ DNS (Domain Name System): Hệ thống tên miền

+ SNMP (Simple Network Management Protocol): Giao thức quản lý mạng đơngiản

+ FTP (File Transfer Protocol): Giao thức truyền tập tin

+ TFTP (Trivial File Transfer Protocol): giao thức truyền tập tin bình thường + SMTP (Simple Mail Transfer Protocol): Giao thức truyền thư đơn giản + TELNET

Trang 27

2.3 GIỚI THIỆU VỀ LẬP TRÌNH SOCKET

2.3.1 KHÁI NIỆM VỀ SOCKET

Socket là một phương pháp để thiết lập kết nối truyền thông giữa một chương trình yêu cầu dịch vụ (client) và một chương trình cung cấp dịch vụ (server) trên mạng LAN, WAN hay Internet và đôi lúc là giữa những quá trình ngay bên trong máy tính Mỗi socket có thể được xem như một điểm cuối trong một kết nối Một socket trên máy yêu cầu dịch vụ có địa chỉ mạng được cấp sẵn để "gọi" một socket trên máy cung cấp dịch vụ Một khi socket đã được thiết lập phù hợp, hai máy tính có thể trao đổi dịch vụ và dữ liệu.

Xét ở góc độ lập trình, Socket là giao diện lập trình ứng dụng (API) hay bộ thư viện hàm

hỗ trợ, dùng để nối kết chương trình ứng dụng với lớp mạng trong hệ thống mạng TCP/IP.Socket được giới thiệu lần đầu dưới hệ điều hành UNIX version 4.3 BSD

Tiến trình A

Host IP 192.168.1.100

Tiến trình B

Host IP 192.168.1.200

Trang 28

2.3.2 CƠ CHẾ GIAO TIẾP

Trong Java, lớp Socket và ServerSocket hỗ trợ việc lập trình mạng giao tiếp giữa Client vàServer

Các bước cần để tạo nối kết ở phía Client:

-Tạo một Socket để kết nối với Server

-Địng nghĩa các dòng nhập/xuất với Socket

-Sử dụng các dòng nhập/xuất để nhận/gởi dữ liệu

-Đóng các dòng nhập/xuất và Socket khi không còn trao đổi

Các bước cần để tạo kết nổi ở phía Server:

- Tạo ServerSocket lắng nghe ở một yêu cầu từ Client

-Tạo một Socket accept nối kết với Client

-Kết nối các dòng nhập/xuất với Socket

-Sử dụng các dòng nhập/xuất để nhận/gởi dữ liệu

-Đóng các dòng nhập/xuất,Socket,ServerSocket

2.3.3 CÁC CHẾ ĐỘ GIAO TIẾP

Hình 2.9 Cơ chế giao tiếp giữa các máy tính thông qua socket

Trang 29

Trong lập trình Socket, có 2 chế độ giao tiếp là TCP(Transmission Control Protocol) vàUDP (User Datagram Protocol).

2.3.4 SO SÁNH GIỮA TCP VÀ UDP

Bảng 2.11 So sánh 2 chế độ giao tiếp TCP và UDP

Giữa 2 quá trình Client và Server luôn tồn

tại kênh giao tiếp ảo

UDP không tồn tại kênh giao tiếp ảo giữa 2quá trình Client và Server

Đối với TCP, dữ liệu được gửi đi theo chế

độ đảm bảo: có kiểm tra lỗi, truyền lại gói

tin bị lỗi hay mất, bảo đảm thứ tự đến của

các gói tin,…

Đối với UDP, dữ liệu được gửi đi theo chế

độ không đảm bảo: không kiểm tra lỗi,không phát hiện và không truyền lại gói tin

bị lỗi hay bị mất, không đảm bảo thứ tự đếncủa các gói tin,…

Tốc độ truyền chậm hơn UDP do phải

truyền đi theo chế độ đảm bảo

Tốc độ truyền nhanh hơn TCP, nhưng dữliệu truyền đi không chính xác bằng TCP

Chế độ giao tiếp TCP thích hợp cho các

ứng dụng cần độ chính xác cao: truyền file,

thông tin điều khiển…

Chế độ giao tiếp UDP thích hợp cho cácứng dụng cần tốc độ, không cần chính xáccao: truyền âm thanh, hình ảnh,

Trang 30

(Nguồn: Lập trình truyền thông – Khoa CNTT&TT – Đại học Cần Thơ)

CHƯƠNG 3 NỘI DUNG VÀ KẾT QUẢ NGHIÊN CỨU

Bằng cách vận dụng và kết hợp những kiến thức đã được trình bày ở chương 2, trongchương 3 này, tác giả sẽ vận dụng để xây dựng trò chơi cờ Caro online Chi tiết việc xây dựng

sẽ được đề cập đến bao gồm mô hình hệ thống, kiến trúc chương trình, cách thức xây dựng.Thêm vào đó, trong chương này sẽ trình bày chi tiết cấu trúc thong điệp giao tiếp giữa Client

và Server Việc thiết kế cơ sở dữ liệu cũng là một phần quan trọng trong đề tài Cuối chương

sẽ là phần giới thiệu chi tiết về các chức năng mà chương trình đã xây dựng được

3.1 XÂY DỰNG TRÒ CHƠI CỜ CARO ONLINE

3.1.1 ĐẶC TẢ CHI TIẾT ĐỀ TÀI

Trò chơi được xây dựng danh cho thiết bị có hệ điều hành Android phiên bản từ 2.2Froyo trở lên (Demo trên Samsung Galaxy Y 5360 Android 2.3.6) Sau đó, người chơi phảicài chương trình ở phía Client vào thiết bị của mình

Để có thể chơi cờ online thì máy của người chơi phải được kết nối Internet (wifi,3G).Khi khởi động trò chơi, người dùng phải đăng kí tài khoản thông qua giao diện đăng kí Khi

đã có tài khoản người dung sẽ đăng nhập vào Server Nếu đăng nhập thành công, Server sẽ

Ngày đăng: 29/09/2013, 09:32

HÌNH ẢNH LIÊN QUAN

Hình 1.2 . Giao diện của một phần mềm chơi  cờ caro trên hệ điều hành Androiod. - Xây dựng trò chơi Caro online trên Android
Hình 1.2 Giao diện của một phần mềm chơi cờ caro trên hệ điều hành Androiod (Trang 6)
Bảng 1.1 . Bảng phân công công việc - Xây dựng trò chơi Caro online trên Android
Bảng 1.1 Bảng phân công công việc (Trang 9)
Bảng 2.1 . Bảng tóm tắt các phiên bản của hệ điều hành android Phiên bản Tên Ngày phát hành Ghi chú - Xây dựng trò chơi Caro online trên Android
Bảng 2.1 Bảng tóm tắt các phiên bản của hệ điều hành android Phiên bản Tên Ngày phát hành Ghi chú (Trang 13)
Bảng 2.2 .  Bảng thống kê 6 hệ điều hành smartphone phổ biến nhất toàn cầu Lượng   máy   xuất - Xây dựng trò chơi Caro online trên Android
Bảng 2.2 Bảng thống kê 6 hệ điều hành smartphone phổ biến nhất toàn cầu Lượng máy xuất (Trang 14)
Hình 2.2 . Chu kì sống của một ứng dụng Android - Xây dựng trò chơi Caro online trên Android
Hình 2.2 Chu kì sống của một ứng dụng Android (Trang 17)
Hình 2.3 . Mô hình mạng máy tính - Xây dựng trò chơi Caro online trên Android
Hình 2.3 Mô hình mạng máy tính (Trang 18)
Hình 2.3 . Ứng dụng của mạng máy tính – in qua mạng - Xây dựng trò chơi Caro online trên Android
Hình 2.3 Ứng dụng của mạng máy tính – in qua mạng (Trang 19)
Hình 2.5 . Mô hình OSI - Xây dựng trò chơi Caro online trên Android
Hình 2.5 Mô hình OSI (Trang 20)
Hình 2.6 . Mô hình TCP/IP và mô hình OSI - Xây dựng trò chơi Caro online trên Android
Hình 2.6 Mô hình TCP/IP và mô hình OSI (Trang 24)
Hình thực tế là TCP/IP. Hai cái có liên quan ít nhiều, song không phải là hoàn toàn giống nhau - Xây dựng trò chơi Caro online trên Android
Hình th ực tế là TCP/IP. Hai cái có liên quan ít nhiều, song không phải là hoàn toàn giống nhau (Trang 25)
Hình 2.8 . Mô hình kết nối socket - Xây dựng trò chơi Caro online trên Android
Hình 2.8 Mô hình kết nối socket (Trang 28)
Bảng 2.11 So sánh 2 chế độ giao tiếp TCP và UDP - Xây dựng trò chơi Caro online trên Android
Bảng 2.11 So sánh 2 chế độ giao tiếp TCP và UDP (Trang 29)
Hình 3.2 Bàn cờ ở trạng thái mặc định ban đầu. - Xây dựng trò chơi Caro online trên Android
Hình 3.2 Bàn cờ ở trạng thái mặc định ban đầu (Trang 33)
Hình 3.4 Sơ đồ CDM của cơ sở dữ liệu - Xây dựng trò chơi Caro online trên Android
Hình 3.4 Sơ đồ CDM của cơ sở dữ liệu (Trang 40)
Bảng 3.4. BANBE - Xây dựng trò chơi Caro online trên Android
Bảng 3.4. BANBE (Trang 42)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w