Ngày nay với trình độ khoa học kĩ thuật phát triển cao các thiết bị điện tử hỗ trợ
con người đã trở thành một vật dụng hữu ích và không thể thiếu như máy vi tính laptop
điện thoại di động iPod Các thiết bị này có thể đáp ứng mọi nhu cầu của người dùng
trong việc học tập giải trí thông tin liên lạc ở mọi lúc mọi nơi khi người dùng cần
đến và có xu hướng phát triển rất nhanh.
Một trong những thiết bị hữu ích trên mà tác giả muốn trình bày đó là PDA.
Thiết bị này đang có xu hướng phát triển rất nhanh và mạnh. Trong phạm vi của
luận văn này tác giả chỉ xem xét đến một loại của PDA là Pocket PC; đặc biệt là về
môi trường lập trình mạng trên Pocket PC.
1.2. 7 B UMục tiêu của đề tài :
Khảo sát việc lập trình trên máy Pocket PC bằng eVC++.
Xây dựng tài liệu tham khảo cho sinh viên về chủ đề lập trình mạng trên máy
Pocket PC.
Xây dựng một ứng dụng nhỏ minh họa (chương trình chat giữa Pocket PC và
máy tính để bàn hoặc chương trình điều khiển Power Point bằng Pocket PC)
90 trang |
Chia sẻ: duongneo | Lượt xem: 2762 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Đề tài Lập trình mạng trên máy pocket PC, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TRƯỜNG ĐẠI HỌC SƯ PHẠM TP.HCM
KHOA TOÁN – TIN
BỘ MÔN TIN
TRẦN THANH PHƯỚC
LẬP TRÌNH MẠNG TRÊN MÁY POCKET PC
Giáo viên hướng dẫn :
Th.s : HOÀNG THÂN ANH TUẤN
TP.HCM, 2006.
-1-
Lời cảm ơn
Sau gần sáu tháng làm việc cật lực cuối cùng thì em cũng đã hoàn thành được
luận văn tốt nghiệp của mình. Mặc dù kiến thức trong luận văn này chỉ là một phần nhỏ
trong kho tàng kiến thức của chuyên đề lập trình mạng trong môi trường Pocket PC
nhưng đối với em đó là một thành tựu tuyệt vời. Đó là thành quả của gần sáu tháng trời
nghiên cứu học tập. Và xa hơn nữa chính là kết quả của bốn năm đèn sách dưới mái
trường Đại Học Sư Phạm.
Có được dù thành tựu dù không lớn lao nhưng nó cũng đã thể hiện phần nào sự
quyết tâm gắng của bản thân cũng như sự chỉ bảo tận tình của các thầy cô đã dạy bảo
em trong suốt thời gian học vừa qua. Em xin chân thành cảm ơn đến tất cả các thầy cô
trong trong Khoa Toán Tin đặc biệt là Tổ Bộ môn Tin Học đã tận tình chỉ bảo truyền
đạt những kinh nghiệm kiến thức cho chúng em để chúng em có được những cơ sở
kiến thức cần thiết hoàn thành luận văn này. Những kỷ niệm những ân tình mà thầy
Quang Tấn thầy Ngọc Trung thầy Bảo.... đối với chúng em sẽ mãi là những kỷ niệm
đẹp chúng em sẽ mãi không bao giờ quên. Vượt lên trên cả em xin chân thành cảm ơn
thầy Hoàng Thân Anh Tuấn thầy đã hướng dẫn em hoàn thành tốt luận văn này. Thầy
đã cung cấp cho em rất nhiều tài liệu hỗ trợ cũng như kinh nghiệm lập trình cần thiết
để vượt qua những khó khăn do hạn chế về chuyên môn cũng như kinh nghiệm lập
trình của bản thân em. Mặc dù thầy có rất nhiều công việc nhưng mỗi lần chúng em
gặp những vướng mắc thầy luôn sẵn sàng gặp mặt để giúp đỡ dù đó là những lúc không
phải là giờ gặp chính thức giữa thầy hướng dẫn và người làm luận văn.
Tuy đã rất cố gắng nhằm đạt được những gì tốt nhất cho luận văn này nhưng do
kiến thức có hạn nên luận văn này nhất định sẽ có những khiếm khuyết cần được sửa
chữa. Kính mong các thầy cô cùng các bạn đọc thông cảm và nhiệt tình đóng góp
những ý kiến nhằm khắc phục những khiếm khuyết của luận văn. Qua đó em sẽ củng
-2-
cố lại kiến thức của mình khắc phục lại những sai lầm cũ làm cho luận văn này được
mới mẽ hơn hữu ích hơn.
Một lần nữa em xin gửi lời cảm ơn đến tất cả các thầy cô đã dạy bảo em trong
suốt thời gian qua. Sự dạy bảo đóng góp của các thầy cô chính là những nền tảng cơ
bản nhất giúp chúng em có đủ tự tin trên bước đường hoàn thiện kiến thức của mình.
-3-
Mục lục
2TChương 12T 2TGiới thiệu về đề tài.2T ...................................................................................... 6
2T1.1.2T 2TCơ sở của đề tài :2T ............................................................................................... 6
2T1.2.2T 2TMục tiêu của đề tài :2T .......................................................................................... 6
2T1.3.2T 2TPhạm vi của đề tài :2T ........................................................................................... 6
2T1.4.2T 2TCấu trúc của luận văn :2T ...................................................................................... 7
2TChương 22T 2TKhảo sát những vấn đề kỹ thuật liên quan2T ................................................... 8
2T .1.2T 2TMáy tính Pocket PC :2T......................................................................................... 8
2T .1.12T 2TĐịnh nghĩa :2T .................................................................................................. 8
2T .1.22T 2TMột vài khái niệm về phần cứng Pocket PC :2T .............................................. 8
2T .2.2T 2TPocket PC Emulator (2003) :2T ......................................................................... 11
2T .2.12T 2TĐịnh nghĩa Emulator:2T ................................................................................. 11
2T .2.22T 2TSử dụng Emulator :2T .................................................................................... 11
2T .2.32T 2TCác yêu cầu cho Emulator:2T ........................................................................ 11
2T .2.42T 2TĐịnh cấu hình Emulator:2T ............................................................................ 12
2T .2.52T 2T ắt Emulator:2T ............................................................................................. 16
2T .2.62T 2TNhững hạn chế của Emulator:2T .................................................................... 16
2T .3.2T 2TSơ lược về mạng :2T ............................................................................................ 17
2T .3.12T 2TNguồn đích và các gói dữ liệu :2T ................................................................ 17
2T .3.22T 2TMôi trường truyền dẫn :2T ............................................................................. 18
2T .3.32T 2TGiao thức :2T .................................................................................................. 18
2T .3.42T 2TMô hình tham chiếu OSI :2T .......................................................................... 19
2T .3.52T 2TSự đóng gói dữ liệu :2T .................................................................................. 21
2T .4.2T 2TLập trình mạng :2T .............................................................................................. 23
2T .4.12T 2TLiên lạc trên Internet :2T ................................................................................ 23
-4-
2T .4.22T 2TDịch vụ từ phía máy chủ và khái niệm cổng (PORT):2T .............................. 26
2T .4.32T 2TGiao tiếp trên mạng theo mô hình khách/chủ (client/server) và khái niệm
Socket:2T 7
2T .4.42T 2TLập trình mạng thông qua Socket :2T ............................................................ 28
2TChương 32T 2TLập trình mạng trên môi trường Pocket PC2T ............................................... 29
2T3.1.2T 2TCài đặt các phần mềm cần thiết:2T ...................................................................... 29
2T3.1.12T 2TCài đặt eMbedded Visual C++ 4.02T ............................................................. 29
2T3.1.22T 2TCài đặt eVC4SP3.2T ...................................................................................... 31
2T3.1.32T 2TCài đặt Pocket PC 2003 SDK.2T ................................................................... 33
2T3.1.42T 2TCài đặt Emulator:2T ....................................................................................... 35
2T3.1.52T 2TCài đặt LoopBack Adapter.2T ........................................................................ 37
2T3.1.62T 2TCấu hình mạng:2T .......................................................................................... 40
2T3.2.2T 2TCác bước xây dựng một ứng dụng mạng trên máy Pocket PC2T ....................... 43
2T3.2.12T 2TXây dựng dịch vụ trên Server :2T .................................................................. 44
2T3.2.22T 2TXây dựng ứng dụng trên Client :2T ................................................................ 45
2T3.3.2T 2TChi tiết các hàm sử dụng trong từng bước2T ...................................................... 45
2T3.3.12T 2TSử dụng API:2T .............................................................................................. 45
2T3.3.22T 2TSử dụng MFC:2T ............................................................................................ 61
2TChương 42T 2TỨng dụng minh họa2T .................................................................................... 69
2T4.1.2T 2TMô tả ứng dụng minh họa:2T .............................................................................. 69
2T4.1.12T 2TỨng dụng chat giữa Pocket PC với máy tính để bàn:2T ................................ 69
2T4.1.22T 2TỨng dụng điều khiển Power Point:2T ............................................................ 69
2T4.2.2T 2TChi tiết các hàm liên quan đến ứng dụng:2T ....................................................... 70
2T4.3.2T 2TMô tả hoạt động của ứng dụng minh họa.2T ....................................................... 72
2T4.3.12T 2TỨng dụng chat giữa Pocket PC với máy tính để bàn:2T ................................ 72
2T4.3.22T 2TỨng dụng điều khiển Power Point:2T ............................................................ 73
2T4.4.2T 2TMô tả thuộc tính phương thức chủ yếu của ứng dụng minh họa:2T ................... 74
-5-
2T4.4.12T 2TỨng dụng chat giữa Pocket PC với máy tính để bàn:2T ................................ 74
2T4.4.22T 2TỨng dụng điều khiển Power Point:2T ............................................................ 76
2T4.5.2T 2TMô tả màn hình kết quả của ứng dụng2T ............................................................ 77
2T4.5.12T 2TỨng dụng chat giữa Pocket PC với máy tính để bàn:2T ................................ 78
2T4.5.22T 2TỨng dụng điều khiển Power Point:2T ............................................................ 80
2TChương 52T 2TĐánh giá đề tài và đề xuất hướng phát triển kế tiếp2T .................................. 82
2T5.1.2T 2TNhững kết quả đã đạt được2T.............................................................................. 82
2T5.2.2T 2TĐề xuất hướng phát triển.2T ................................................................................ 82
2TDanh mục tài liệu tham khảo.2T ........................................................................................ 83
2TPhụ lục.2T ........................................................................................................................... 84
-6-
Chương 1 0BGiới thiệu về đề tài.
1.1. 6BUCơ sở của đề tài :
Ngày nay với trình độ khoa học kĩ thuật phát triển cao các thiết bị điện tử hỗ trợ
con người đã trở thành một vật dụng hữu ích và không thể thiếu như máy vi tính laptop
điện thoại di động iPod Các thiết bị này có thể đáp ứng mọi nhu cầu của người dùng
trong việc học tập giải trí thông tin liên lạc ở mọi lúc mọi nơi khi người dùng cần
đến và có xu hướng phát triển rất nhanh.
Một trong những thiết bị hữu ích trên mà tác giả muốn trình bày đó là PDA.
Thiết bị này đang có xu hướng phát triển rất nhanh và mạnh. Trong phạm vi của
luận văn này tác giả chỉ xem xét đến một loại của PDA là Pocket PC; đặc biệt là về
môi trường lập trình mạng trên Pocket PC.
1.2. 7BUMục tiêu của đề tài :
Khảo sát việc lập trình trên máy Pocket PC bằng eVC++.
Xây dựng tài liệu tham khảo cho sinh viên về chủ đề lập trình mạng trên máy
Pocket PC.
Xây dựng một ứng dụng nhỏ minh họa (chương trình chat giữa Pocket PC và
máy tính để bàn hoặc chương trình điều khiển Power Point bằng Pocket PC).
1.3. 8BUPhạm vi của đề tài :
Như trên đã nói chủ đề của luận văn này là lập trình mạng trên máy Pocket PC.
Do đó tác giả sẽ chỉ trình bày những kiến thức cơ bản nhất mà qua đó sinh viên có thể
đọc hiểu và áp dụng vào việc tạo ra một ứng dụng mạng đơn giản giữa các Pocket PC
hoặc giữa máy tính để bàn với Pocket PC. Cụ thể hơn tác giả sẽ trình bày những vấn
đề sau đây:
-7-
Giới thiệu về Pocket PC và Emulator.
Giới thiệu sơ lược về mạng và lập trình mạng.
Tìm hiểu cách xây dựng ứng dụng mạng đơn giản trên Pocket PC.
Xây dựng ứng dụng minh họa.
1.4. 9BUCấu trúc của luận văn :
2TChương 1: Giới thiệu về đề tài.2T Chương này trình bày những mục sau: Cơ sở đề
tài mục tiêu đề tài phạm vi đề tài cấu trúc luận văn
Chương 2: Khảo sát những vấn đề kỹ thuật liên quan. Khảo sát những vấn đề
sau: Tìm hiểu về máy tính Pocket PC trình giả lập Pocket PC Emulator 2003 tìm
hiểu sơ lược về mạng tìm hiểu về lập trình mạng lập trình mạng thông qua
socket.
Chương 3: Lập trình mạng trên môi trường Pocket PC. Chương này tìm hiểu các
phần sau: Cài đặt các phần mềm cần thiết để có thể lập trình cho máy Pocket PC
trên máy tính để bàn tìm hiểu các bước xây dựng một ứng dụng mạng trên máy
Pocket PC nghiên cứu các chi tiết các hàm được sử dụng trong từng bước.
Chương 4: Ứng dụng minh họa bao gồm: Mô tả ứng dụng minh họa nghiên cứu
các hàm có liên quan đến ứng dụng mô tả họat động của ứng dụng minh hoa
trình bày các thành phần dữ liệu và các phương thức chủ yếu của ứng dụng mô
tả màn hình kết quả của ứng dụng.
Chương 5: Đánh giá đề tài và đề xuất hướng phát triển kế tiếp. Chương này
trình bày hai phần: Một là trình bày những kết quả đã đạt được hai là đề xuất
hướng phát triển.
Danh mục tài liệu tham khảo: Trình bày những tài liệu tham khảo hỗ trợ cho
việc hoàn thành luận văn này.
Phần Phụ lục: Trình bày ví dụ chat tuần tự minh họa cách sử dụng socket để lập
trình mạng.
-8-
Chương 2 1BKhảo sát những vấn đề kỹ thuật liên quan
2.1. 10BUMáy tính Pocket PC :
2.1.1 24BĐịnh nghĩa :
“Pocket” trong tiếng Anh có nghĩa là “túi” và “Pocket PC” có nghĩa là “máy vi
tính bỏ túi” ý nói là thiết bị này cũng thông minh như PC nhưng rất nhỏ gọn có thể bỏ
vào túi một cách vừa vặn tiện lợi.
Hệ điều hành :
Như trên đã nói Pocket PC cũng là một PC nên để Pocket PC chạy được nó cần
phải có hệ điều hành. Pocket PC sử dụng Windows Mobile - sản phẩm độc quyền của
Microsoft. Có thể xem hệ điều hành này là phiên bản thu nhỏ hệ điều hành Windows.
Vì thế hầu hết người sử dụng khi dùng Pocket PC sẽ cảm thấy giao diện vô cùng quen
thuộc. Cũng là các cửa sổ Windows cũng là nút Start để ra Menu cũng là Word Exel
PowerPoint và Internet Explorer
Hiện tại Windows Mobile cũ nhất còn được sử dụng là Windows Mobile 2002;
tiếp theo là Windows Mobile 2003 với khả năng hỗ trợ multimedia cao hơn; Windows
Mobile 2003 Second Edition là phiên bản hệ điều hành gần như mới nhất với khả năng
hỗ trợ xoay ngang màn hình rất tiện lợi cho việc duyệt web trên Pocket PC. Hệ điều
hành mới nhất là Windows Mobile 2005 – đang được cộng đồng Pocket PC mong đợi!
Windows Mobile giống như Windows trên máy vi tính là hệ điều hành đa nhiệm
nghĩa là: bạn có thể vừa mở cửa sổ của trình nghe nhạc vừa xem duyệt web vừa sử
dụng từ điển.
2.1.2 25BMột vài khái niệm về phần cứng Pocket PC :
2.1.2.1 59BMàn hình xúc cảm :
-9-
Hình 2.1 Pocket PC.
Màn hình xúc cảm (touch screen) là một màn hình tinh thể lỏng (LCD) được
bao phủ bởi một touch panel có điện trở. LCD hướng thẳng đứng với độ phân giải là
240×320-pixel cho phép người dùng nhìn thấy các thành phần giao diện một cách rõ
ràng. Độ dẫn điểm (dot pitch) dành cho Pocket PC là.22 tới.24 tùy thuộc OEM. Chạm
nhẹ lên màn hình xúc cảm bằng một cây bút (stylus) hoặc ngón tay sẽ gửi cùng một
loại thông điệp giống như click chuột trái lên máy desktop mặc dù việc hỗ trợ con trỏ
bị giới hạn đến đồng hồ cát quay vòng cho tín hiệu chờ đợi. Người dùng cũng có thể
chọn và drag các item. Để cảm thấy được những thay đổi nhanh chóng trong việc nhập
liệu màn hình xúc cảm có tốc độ refresh (refresh rate) nhỏ nhất là 100 mẫu/giây
(samples per second). Pocket PC cũng hỗ trợ độ sâu màu (color depth) lên đến 16
bit/pixel (bits per pixel).
2.1.2.2 60B út và bàn phím :
Pocket PC không có bàn phím vật lí tiêu chuẩn. Việc nhập liệu văn bản
được hoàn thành bằng cách sử dụng bảng nhập liệu (input panel) và bút (stylus). Nói
chung bảng nhập liệu là một cửa sổ tiêu chuẩn trên màn hình xúc cảm mà hiển thị một
phương thức nhập liệu cho phép người dùng nhập dữ liệu bằng nhiều cách. Phần mềm
Pocket PC có phương thức nhập liệu bàn phím QWERTY được đơn giản hóa và
-10-
phương pháp nhập liệu nhận biết chữ viết tay.
Stylus là một con trỏ dành cho cho việc truy xuất màn hình xúc cảm và
các phương thức nhập liệu. Stylus này có một điểm nhỏ hơn ngón tay người dùng
nhưng không làm làm xước màn hình xúc cảm.
OEM hoặc người dùng có thể thêm vào các phương thức nhập liệu.
Chẳng hạn một đại lí phần mềm độc lập (ISV) có thể tạo ra một phương thức nhập liệu
để chạm nằm trong mã Morse. Người dùng có thể mua phương thức nhập liệu mã
Morse và cài đặt nó ở nhà.
2.1.2.3 61BIn ấn :
In ấn hiện nay không được hỗ trên Pocket PC.
2.1.2.4 62BNguồn điện:
Bởi vì Pocket PC di chuyển được nên tuổi thọ pin rất quan trọng. Pocket
PC có thể hoạt động nhiều giờ trên nguồn pin tiêu chuẩn của nó và nó có thể có pin dự
phòng để tránh mất dữ liệu nếu pin chính hết năng lượng.
2.1.2.5 63BCPU:
Pocket PC sử dụng họ vi xử lí ARM. Bộ xử lí ARM cung cấp sự kết hợp
xuất sắc giữa độ thực thi cao và tiêu hao năng lượng ít.
2.1.2.6 64B ộ nhớ:
Tất cả các thiết bị Pocket PC có ít nhất 24 megabytes (MB) ROM và 16
MB RAM. Bản nâng cấp được đưa ra bởi một số OEM dành cho các thiết bị Pocket PC
của họ được làm cho thích ứng để ăn khớp với 16 MB flash RAM sẵn có trên các thiết
bị được nâng cấp đó.
Bởi vì bảo quản bộ nhớ trên Pocket PC rất quan trọng nên nhiều thành phần hệ
điều hành Pocket PC được nén trong ROM. Khi người dùng cần thành phần nào hệ
-11-
điều hành giải nén thành phần đó và chuyển nó tới RAM. Vì cần có thời gian cho giải
nén và chuyển nên các file nén thực thi chậm.
2.1.2.7 65BCổng nối tiếp cài đặt sẵn:
Pocket PC có thể kết nối đến một máy desktop bằng cách sử dụng cáp nối tiếp
hoặc bệ nối tùy chọn (optional docking cradle) thường là có sẵn từ nhiều nhà sản xuất
Pocket PC được kết nối đến máy desktop. Một số thiết bị Pocket PC hỗ trợ giao tiếp dữ
liệu thông qua một modem kết nối đến cradle.
2.1.2.8 6BCổng giao tiếp hồng ngoại:
Pocket PC có cổng nối tiếp thích hợp với kĩ thuật Infrared Data
Association (IrDA). Các thiết bị Pocket PC có thể giao tiếp với các thiết bị Pocket PC
khác các thiết bị nền Windows CE khác các thiết bị vi tính cầm tay nền Palm OS hoặc
máy desktop.
2.2. 1BUPocket PC Emulator (2003) :
2.2.1 26BĐịnh nghĩa Emulator:
Pocket PC SDK có một môi trường giả lập mới. Môi trường này cung cấp một
máy ảo chạy phần mềm Pocket PC được biên dịch cho bộ xử lí x86. Máy ảo này sao y
phần cứng được biết như là CEPC là một cấu hình phần cứng chạy Windows CE trên
một máy tính desktop Intel x86.
2.2.2 27BSử dụng Emulator :
Ta không được dùng phím Windows + L để đóng hệ thống khi đang sử dụng
emulator. Đóng máy tính của bạn trong khi trình giả lập đang chạy có thể làm cho
emulator không sử dụng được nữa khi bạn mở computer.
2.2.3 28BCác yêu cầu cho Emulator:
-12-
Emulator có những yêu cầu về phần cứng và phầm mềm như sau:
Microsoft Windows 2000 Professional hay Windows 2000 Server có cài đặt
Service Pack 2 hoặc Microsoft Windows XP Home Edition hay Windows XP
Professional.
Intel Pentium II hoặc bộ xử lí sau này chạy với tốc độ 400 MHz hoặc nhanh
hơn.
196 MB RAM.
Có card mạng và kết nối hoặc là Microsoft Loopback Adapter.
2.2.4 29BĐịnh cấu hình Emulator:
Trước khi cấu hình Emulator đảm bảo rằng chúng ta đã cài đặt thành công
Microsoft eMbedded Visual C++® và trình giả lập Emulator. Cách thức 2TUcài đặtU2T như thế
nào sang chương 3 chúng ta sẽ tìm hiểu.
Phần này mô tả cách định cấu hình cho emulator trước khi sử dụng lần đầu.
2.2.4.9 67BĐịnh cấu hình Platform Manager:
Chủ đề này mô tả cách định cấu hình Platform Manager bằng cách sử dụng
Microsoft eMbedded Visual C++®. Làm theo các bước sau:
Khởi động eMbedded Visual C++.
Trong eMbedded Visual C++ trên menu Tools click Configure Platform
Manager.
Hình 2.2 Platform Manager.
-13-
Mở các kiểu thiết bị ra sau đó click Pocket PC 2003. Trong hộp thoại Windows
CE Platform Manager Configuration click Pocket PC 2003 Emulator. Tùy theo
các công cụ Windows CE khác được cài đặt trên máy tính có thể có những thiết
bị và platform khác được liệt kê trong hộp thoại.
Click Properties.
Cả transport và Startup Server đều có những tùy chọn cấu hình có thể điều chỉnh
được. Click vào nút Configure dành cho TCP/IP transport để hiển thị các thiết lập
mạng; tuy nhiên đề nghị là cấu hình tiêu chuẩn được giữ nguyên không đổi.
Click nút Configure dành cho the Emulator Startup Server để mở hộp thoại
Emulation Configuration Settings.
Hình 2.3 Màn hình