Tải bản đầy đủ (.doc) (88 trang)

lập trình mạng trên máy pocket pc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.26 MB, 88 trang )

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 .
Lời cảm ơn
Sau gần sáu tháng làm việ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
Chương 1 Giới thiệu về đề tài 6
1.1. Cơ sở của đề tài : 6
1.2. Mục tiêu của đề tài : 6
1.3. Phạm vi của đề tài : 6
1.4. Cấu trúc của luận văn : 7
Chương 2 Khảo sát những vấn đề kỹ thuật liên quan 9
2.1. Máy tính Pocket PC : 9
2.1.1 Định nghĩa : 9
2.1.2 Một vài khái niệm về phần cứng Pocket PC : 10
2.2. Pocket PC Emulator ( 2003 ) : 12
2.2.1 Định nghĩa Emulator: 12
2.2.2 Sử dụng Emulator : 13
2.2.3 Các yêu cầu cho Emulator: 13
2.2.4 Định cấu hình Emulator: 13
2.2.5 Tắt Emulator: 17
2.2.6 Những hạn chế của Emulator: 17
2.3. Sơ lược về mạng : 18
2.3.1 Nguồn , đích và các gói dữ liệu : 18
2.3.2 Môi trường truyền dẫn : 19
2.3.3 Giao thức : 19

2.3.4 Mô hình tham chiếu OSI : 20
2.3.5 Sự đóng gói dữ liệu : 22
2.4. Lập trình mạng : 23
2.4.1 Liên lạc trên Internet : 23
2.4.2 Dịch vụ từ phía máy chủ và khái niệm cổng (PORT) : 27
2.4.3 Giao tiếp trên mạng theo mô hình khách/chủ ( client/server ) và khái niệm
Socket : 28
2.4.4 Lập trình mạng thông qua Socket : 29
Chương 3 Lập trình mạng trên môi trường Pocket PC 30
3.1. Cài đặt các phần mềm cần thiết: 30
3.1.1 Cài đặt eMbedded Visual C++ 4.0 30
3.1.2 Cài đặt eVC4SP3 32
3.1.3 Cài đặt Pocket PC 2003 SDK 34
3.1.4 Cài đặt Emulator: 36
3.1.5 Cài đặt LoopBack Adapter 38
3.1.6 Cấu hình mạng: 40
-4-
3.2. Các bước xây dựng một ứng dụng mạng trên máy Pocket PC 43
3.2.1 Xây dựng dịch vụ trên Server : 44
3.2.2 Xây dựng ứng dụng trên Client : 45
3.3. Chi tiết các hàm sử dụng trong từng bước 45
3.3.1 Sử dụng API: 45
3.3.2 Sử dụng MFC: 61
Chương 4 Ứng dụng minh họa 68
4.1. Mô tả ứng dụng minh họa: 68
4.1.1 Ứng dụng chat giữa các Pocket PC với nhau hoặc Pocket PC với máy tính
để bàn: 68
4.1.2 Ứng dụng điều khiển Power Point: 69
4.2. Chi tiết các hàm liên quan đến ứng dụng: 69
4.3. Mô tả hoạt động của ứng dụng minh họa 71

4.3.1 Ứng dụng chat giữa các Pocket PC hoặc Pocket PC với máy tính để bàn:. 71
4.3.2 Ứng dụng điều khiển Power Point: 73
4.4. Mô tả thuộc tính, phương thức chủ yếu của ứng dụng minh họa: 73
4.4.1 Ứng dụng chat giữa các Pocket PC hoặc Pocket PC với máy tính để bàn:. 73
4.4.2 Ứng dụng điều khiển Power Point: 75
4.5. Mô tả màn hình kết quả của ứng dụng 76
4.5.1 Ứng dụng chat giữa các Pocket PC hoặc Pocket PC với máy tính để bàn:. 76
4.5.2 Ứng dụng điều khiển Power Point: 78
Chương 5 Đánh giá đề tài và đề xuất hướng phát triển kế tiếp 81
5.1. Những kết quả đã đạt được 81
5.2. Đề xuất hướng phát triển 81
Danh mục tài liệu tham khảo 83
Phụ lục 84
-5-
Chương 1 Giới thiệu về đề tài.
1.1. Cơ 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. Mụ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 các Pocket PC

với nhau hoặc giữa Pocket PC và máy tính để bàn; chương trình điều khiển
Power Point bằng Pocket PC).
1.3. Phạ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,
-6-
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:
 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. Cấu trúc của luận văn :
Luận văn này có cấu trúc như sau:
 Chương 1 Giới thiệu về đề tài. 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 .
-7-
 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 Khảo sát những vấn đề kỹ thuật liên quan
2.1. Máy tính Pocket PC :
2.1.1 Đị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.
-9-

2.1.2 Một vài khái niệm về phần cứng Pocket PC :
2.1.2.1 Màn hình xúc cảm :
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).
-10-
2.1.2.2 Bú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à
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 In ấn :

In ấn hiện nay không được hỗ trên Pocket PC.
2.1.2.4 Nguồ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 CPU:
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.
-11-
2.1.2.6 Bộ 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ệ
đ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 Cổ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 Cổ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. Pocket PC Emulator ( 2003 ) :
2.2.1 Đị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
-12-
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 Sử 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 Các yêu cầu cho Emulator:
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 Đị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 cài đặt 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.1 Đị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++.
-13-
 Trong eMbedded Visual C++, trên menu Tools, click Configure Platform
Manager.

Hình 2.2 Platform Manager.
 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 Emulation Configuration Settings.
Hộp thoại này cho phép những thay đổi sau:
 Thay đổi phím chủ (host).
 Chọn hỗ trợ mạng sẵn có (available).
-14-
 Ánh xạ một cổng được giả lập đến một cổng thực trên trạm công tác phát triển.
2.2.4.2 Định cấu hình Pocket PC Connection Manager:
Thiết bị Pocket PC giả lập sẽ yêu cầu những điều chỉnh đến các thiết lập mạng
trước khi có thể truy cập Internet. Nếu mạng sử dụng proxy server để truy cập Internet,
thì thông tin proxy cũng phải được định cấu hình.
Để định cấu hình thông tin proxy cho emulator:
Định cấu hình emulator với hỗ trợ mạng và khởi động emulator.
 Trong cửa sổ emulator Pocket PC , trên menu Start, click Settings.
 Click tab Connections.
 Click biểu tượng Connections.
 Click tab Advanced.
 Click nút Network Card.
 Đặt thiết lập My network card connects to thành Work.
 Click OK ở góc trên bên phải.

 Click tab Tasks.
 Phía dưới tiêu đề My Work Network, click vào link Edit my proxy server.
 Chọn check box This network connects to the Internet box.
Nếu mạng sử dụng proxy server:
 Chọn check box This network uses a proxy server to connect to the Internet.
 Gõ vào thông tin proxy server.
 Click OK ở góc trên bên phải trên.
 Click OK ở góc trên bên phải một lần nữa
Triển khai ứng dụng eMbedded Visual C++ cho Emulator:
Chủ đề này mô tả cách triển khai một ứng dụng nền eMbedded Visual C++ đến
emulator. Làm theo các bước sau:
 Bảo đảm emulator được định cấu hình đúng trước khi sử dụng nó lần đầu tiên.
-15-
 Bảo đảm đã có thanh công cụ WCE Configuration.
Hình 2.4 Màn hình eVC4.0.
 Bảo đảm Chắc rằng cả Win32 (WCE emulator) Release lẫn Win32 (WCE
emulator) Debug được chọn trong list box Active Configuration xổ xuống, và
Pocket PC Emulator được chọn trong list box Default Device.
 Ứng dụng sẽ được tải xuống đến emulator khi bất kì chọn lựa nào sau đây được
thực hiện: Rebuild All, Go (F5), hoặc Execute (CTRL+F5). Go và Execute cũng
khởi động ứng dụng. Cũng có thể thay đổi cách hoạt động tải xuống mặc định
của eMbedded Visual C++ bằng cách click Tools, click Options, tiếp đó click tab
Download trong hộp thoại Options.
Lưu ý: eMbedded Visual Basic không còn được hỗ trợ nữa.
2.2.4.3 Di chuyển các file đến và đi khỏi Emulator:
Bạn có thể di chuyển các tập tin đến hoặc đi khỏi trình giả lập bằng cách sử
dụng bất kì phương pháp nào sau đây:
 Sử dụng tính năng Explore của ActiveSync.
 Sử dụng công cụ Remote File Viewer mà sẵn có trong eMbedded Visual C++
4.0. Chức năng Export di chuyển một file từ hệ thống file của trạm công tác phát

triển đến hệ thống file của thiết bị Pocket PC thực hoặc giả lập. Chức năng
Import di chuyển các file từ thiết bị Pocket PC thực hoặc giả lập sang hệ thống
file của trạm công tác phát triển.
-16-
 Chia sẻ (dùng chung) các file trong hệ thống file của trạm công tác phát triển và
truy xuất những file đó bằng cách sử dụng File Manager trong image Pocket PC
giả lập.
2.2.5 Tắt Emulator:
Hình 2.5 Màn hình tắt Emulator.
Bạn có thể tắt emulator bằng cách sử dụng bất kì phương pháp nào sau đây:
Click Close trong thanh tiêu đề của cửa sổ emulator, click Shut Down trên menu
Emulator, hoặc xài phím tắt để làm hộp thoại xuất hiện Shut Down. Hộp thoại Shut
Down được minh họa như hình sau.
Danh sách xổ xuống trong hộp thoại Shut Down cung cấp 2 tùy chọn:
Turn off Emulator: Tắt image giả lập mà không lưu lại trạng thái hiện tại.
Save Emulator State: Lưu trạng thái hiện tại của emulator để nó có sẽ trả về điểm này
trong lần khởi động emulator kế tiếp.
2.2.6 Những hạn chế của Emulator:
Mặc dù emulator mới là một bước tiến ấn tượng (dramatic) về độ trung thực và
sự thuận tiện cho việc phát triển, mỗi emulator có những hạn chế của nó khi so sánh
với thiết bị mà nó giả lập. Emulator được có trong Pocket PC SDK vận hành mã
Pocket PC thực mà được biên dịch để nhắm tới CPU x86. Trong đa số các kịch bản
(scenarios) phát triển ứng dụng, thiết lập này là đủ. Tuy nhiên, vẫn có một số hạn chế
đối với loại giả lập này:
Để sử dụng emulator, các ứng dụng phải được biên dịch để chạy trên CPU x86.
Ứng dụng này sẽ khó tránh khỏi những khác biệt tiềm tàng trong các trình biên dịch
x86, runtime và các file hỗ trợ khi được so sánh với các thiết bị dựa trên ARM.
-17-
Bởi vì những khác biệt trong cấu trúc CPU (x86 CISC so với ARM RISC) và
những thiết lập chỉ thị, không thể dùng emulator để trình diễn việc thực thi tuyệt đối tối

tỉ mỉ và sự tối ưu memory footprint. Tuy nhiên, đối với hầu hết trình ứng dụng, mức
phân tích này không thành vấn đề.
Màn hình xúc cảm của thiết bị được thay thế bằng con chuột. Mặc dù con chuột
về mặt chức năng tương đương với màn hình xúc cảm, nhưng những nhà phát triển ứng
dụng phải xem xét thêm kinh nghiệm của người dùng chạy ứng dụng trên thiết bị mà
cần có bút (stylus).
Việc ghi âm không được hỗ trợ trong emulator bất chấp các khả năng ghi âm
của máy tính phát triển chạy emulator.
2.3. Sơ lược về mạng :
Mục đích của việc xây dựng hệ thống mạng (dù nhỏ hay lớn) là để trao đổi
thông tin, chia sẽ thông tin, chia sẽ thiết bị với nhau … Do đó, điều chúng ta cần quan
tâm trong phần này là tìm hiểu xem thông tin được truyền như thế nào, và các máy tính
trong mạng (host) gửi và nhận thông tin ra sao. Muốn thế, ta hãy tìm hiểu một số khái
niệm sau đây .
2.3.1 Nguồn , đích và các gói dữ liệu :
Để cho các máy tính gửi thông tin xuyên qua một mạng, tất cả các hoạt động
truyền tin trên một mạng đều xuất phát từ một nguồn, sau đó di chuyển đến một đích.
Thông tin được di chuyển trên một mạng được tham chiếu đến như là dữ liệu, gói hay
gói dữ liệu. Một gói dữ liệu là một đơn vị thông tin được nhóm lại theo luận lý, và di
chuyển giữa các hệ thống máy tính. Bao gồm trong đó là thông tin về nguồn tìn cùng
với các phần tử cần thiết khác để thực hiện một hoạt động truyền tin cậy với thiết bị
đích. Địa chỉ nguồn trong một gói chỉ ra danh định của máy tính đã gửi gói này. Địa
chỉ đích chỉ danh định của máy tính sau cùng tiếp nhận gói.
-18-
2.3.2 Môi trường truyền dẫn :
Môi trường truyền dẫn trong mạng là một miền vật chất mà qua đó các gói dữ
liệu di chuyển . Nó có thể là bất kỳ loại nào sau đây :
Các dây điện thoại .
 Cáp UTP loại 5 ( được dùng cho 10 BASE – T ).
 Các cáp đồng trục ( được dùng cho truyền hình ).

 Sợi quang (sợi thủy tinh mảnh truyền ánh sáng ).
Có hai loại môi trường không rõ ràng cho lắm , nhưng dẫu sao nó cũng tham gia
vào hoạt động thông tin trên mạng. Trước hết là không khí (hầu hết là oxy, nitơ và hơi
nước) nó mang sóng radio, sóng vi ba và ánh sáng.
Hoạt động thông tin không dùng dây dẫn hay cáp được gọi là thông tin không
dây hay thông tin không gian tự do (wireless hay free – space communication). Đó là
khả năng dùng sóng điện từ EM (electromagnetic). Các sóng điện từ lan truyền trong
chân không với tốc độ ánh sáng, gồm có sóng năng lượng, sóng radio, sóng vi ba, ánh
sáng hồng ngoại, ánh sáng nhìn thấy, tia cực tím, tia X, tia gamma. Các sóng điện từ
lan truyền trong không khí, nhưng chúng cũng lan truyền qua khoảng chân không.
2.3.3 Giao thức :
Để các gói dữ liệu có thể di chuyển từ nguồn đến đích trên mạng, điều quan
trọng là tất cả các thiết bị trên mạng phải nói cùng một ngôn ngữ hay giao thức. Một
giao thức là một tập các quy định giúp thực hiện hoạt động thông tin trên mạng.
Sự phát triễn của các chuẩn lập lập mạng ISO:
Nhằm giải quyết vấn đề không tương thích của các mạng và không thể trao đổi
thông tin với nhau giữa các mạng, tổ chức tiêu chuẩn hóa quốc tế ISO đã nghiên cứu
lược đồ mạng như DECNET, SNA và TCP/IP để tìm ra một bộ luật. Kết quả của
nghiên cứu này, ISO đã tạo ra được một mô hình mạng giúp cho các nhà chế tạo có thể
-19-
tạo ra các mạng riêng của mình nhưng vẫn đảm bảo tương thích và liên kết hoạt động
với các mạng khác.
Quá trình này chia hoạt động thông tin phức tạp thành các tác vụ rời rạc nhỏ
hơn. Mô hình tham chiếu OSI được công bố vào năm 1984, nó mô tả lược đồ phân lớp
mà tổ chức này đã xây dựng được. Mô hình cung cấp cho các nhà chế tạo một tập các
tiêu chuẩn đảm bảo tương thích và liên kết hoạt động tốt hơn giữa các kỹ thuật mạng
khác nhau được tạo ra bởi nhiều công ty trên thế giới.
2.3.4 Mô hình tham chiếu OSI :
Mô hình tham chiếu OSI là mô hình chủ yếu cho các hoạt động thông tin trên
mạng . Mặc dù đã có các mô hình khác, nhưng hầu hết các nhà chế tạo ngày nay đều

tạo ra các sản phẩm của họ trên cơ sở tham chiếu dến mô hình OSI.
Mô hình tham chiếu OSI cho phép bạn nhận ra được các chức năng mạng diễn
ra tại mỗi lớp. Nó là một khuôn mẫu giúp bạn hiểu thông tin di chuyển xuyên qua một
mạng như thế nào. Nó được chia thành 7 lớp:
 Lớp 7: Lớp ứng dụng (the application layer)
Lớp ứng dụng là lớp gần gũi với người dùng hơn hết, nó cung cấp các dịch vụ
mạng cho các ứng dụng của người dùng. Nó khác với các lớp khác ở chỗ không cung
cấp các dịch vụ cho bất kỳ lớp nào, thay vì vậy, nó chỉ cung cấp các dịch vụ cho các
ứng dụng nằm bên ngoài mô hình OSI. Các chương trình ứng dụng như chương trình
xử lý bảng tính, các chương trình xử lý văn bản, các chương trình đầu cuối…. Lớp ứng
dụng thiết lập tính sẵn sàng cho các đối tác thông tin, đồng bộ hóa và thiết lập tính nhất
quán trên các thủ tục khắc phục lỗi và kiểm soát tính toàn vẹn dữ liệu. Nếu bạn muốn
ghi nhớ lớp 7 chỉ bằng vài từ ngắn gọn, thì hãy nghĩ đến các trình duyệt web.
 Lớp 6: Lớp trình bày (the presentation layer)
Lớp trình bày đảm bảo thông tin mà lớp ứng dụng của một hệ thống đầu cuối gởi đi
lớp ứng dụng của hệ thống khác có thể đọc được. Nếu cần lớp trình bày thông dịch
-20-
giữa nhiều dạng dữ liệu khác nhau thông qua một dạng chung. Nếu bạn muốn ghi nhớ
lớp 6 một cách ngắn gọn thì hãy nghĩ đến dạng dữ liệu chung.
 Lớp 5: Lớp phiên (the session layer)
Như bao hàm trong tên của lớp, lớp phiên thiết lập, quản lý và kết thúc các phiên
thông tin giữa hai chủ thể truyền nhận. Nó cũng đồng bộ hội thoại giữa 2 lớp trình bày
của hai host và quản lý các cuộc trao đổi dữ liệu giữa chúng. Bên cạnh sự điều khiển
phiên làm việc, lớp phiên còn chuẩn bị những thứ cần thiết cho truyền dữ liệu hiệu quả,
phân lớp dịch vụ, và thông báo mở rộng các sự cố của lớp phiên, lớp trình bày và lớp
ứng dụng. Nếu bạn muốn ghi nhớ lớp 5 bằng vài từ thì đó là hội thoại.
 Lớp 4: Lớp vận chuyển (the transport layer)
Lớp vận chuyển phân đọan dữ liệu từ hệ thống host truyền và tái thiết lập dữ liệu
vào một luồng dữ liệu tại hệ thống host nhận. Ranh giới giữa lớp vận chuyển và lớp
phiên có thể được xem như ranh giới giữa giao thức ứng dụng (application protocol) và

giao thức luồng dữ liệu.Trong khi các lớp ứng dụng, lớp trình bày và lớp phiên liên
quan mật thiết đến ứng dụng, thì bốn lớp dưới lại liên quan đến việc truyền dữ liệu.
Lớp vận chuyển cố gắng cung cấp một dịch vụ vận chuyển dữ liệu , tạo nên một dải
ngăn cách bảo vệ các lớp trên tránh các chi tiết hiện thực vận chuyển bên đưới. Đặc
biệt, các vấn đề như làm thế nào vận chuyển giữa hai host thật sự tin cậy là trách nhiệm
liên quan đến lớp vận chuyển. Trong việc cung cấp dịch vụ truyền tin, lớp vận chuyển
thiết lập, duy trì, và kết thúc một cách tốt đẹp các mạch ảo. Trong việc cung cấp các
dịch vụ tin cậy, sự phát hiện lỗi, khắc phục lỗi cũng như điều khiển luồng thông tin
đều được sử dụng triệt để. Nếu bạn muốn ghi nhớ tóm tắt lớp 4 thì hãy nghĩ ngay đến
chất lượng dịch vụ và độ tin cậy.
 Lớp 3:lớp mạng (the network layer):
Lớp mạng là lớp phức tạp nó cung cấp kết nối và chọn lựa đường dẫn giữa hai hệ thống
host tọa lạc trên các mạng tách biệt về mặt địa lý . Nếu bạn muốn ghi nhớ lớp 3 chỉ với
một vài từ ngắn gọn hãy ngay đến sự chọn đường , định tuyến và đánh địa chỉ.
-21-
 Lớp 2:lớp liên kết dữ liệu (the data link layer)
Lớp liên kết dữ liệu cung cấp khả năng chuyển dữ liệu tin cậy xuyên qua một liên
kết vật lý. Trong khi làm công việc này, lớp liên kết dữ liệu gắn liền với lược đồ đánh
địa chỉ vật lý (đối nghịch với địa chỉ luân lý), cấu hình mạng, truy xuất mạng, thông
báo lỗi, thứ tự phân phối frame, và điều khiển luồng. Nếu bạn muốn ghi nhớ lớp 2 bằng
vài từ ngắn gọn, bạn hãy nghĩ ngay đến các frame và điều khiển truy xuất môi trường.
 Lớp 1: Lớp vật lý (the physical layer):
Lớp vật lý định nghĩa các qui cách về điện, cơ, thủ tục và các đặc tả chức năng để
kích hoạt, duy trì và dừng một liên kết vật lý giữa các hệ thống đầu cuối. Các đặc trưng
như các mức điện áp, định thời thay đổi điện áp, tốc độ chuyển dữ liệu vật lý, cự ly
truyền tối đa, các đầu nối vật lý và những thuộc tính tương tự khác đều được định
nghĩa bởi các đặc tả lớp vật lý. Nếu bạn muốn ghi nhớ lớp 1 bằng vài từ ngắn gọn thì
hãy nghĩ ngay đến các tín hiệu và môi trường.
2.3.5 Sự đóng gói dữ liệu :
Bạn biết rằng tất cả các hoạt động truyền tin trên mạng đều bắt đầu từ một

nguồn và nhắm đến một đích, thông tin được gởi lên mạng được tham khảo đến như là
dữ liệu hay là các gói dữ liệu. Nếu một máy tính A (host A) muốn gởi dữ liệu đến một
máy tính B (host B), trước hết dữ liệu phải được gói bởi một quá trình gọi là đóng gói
(encapsulation).
Hoạt động đóng gói sẽ gói dữ liệu cùng với các thông tin giao thức cần thiết
trước khi chuyển đi. Do đó, khi dữ liệu chuyển xuống xuyên qua các lớp của mô hình
OSI, nó tiếp nhận các header, các trailer, và các thông tin khác (lưu ý rằng: từ header
có nghĩa là thông tin địa chỉ được thêm vào). Các mạng phải thực hiện theo 5 bước
đàm thoại để đóng gói dữ liệu:
 Xây dựng dữ liệu: khi một user gởi một bức thư, các ký tự alphabet được chuyển
đổi thành dạng dữ liệu có thể di chuyển xuyên qua liên mạng.
-22-
 Gói dữ liệu để vận chuyển đầu cuối đến đầu cuối: dữ liệu được đóng gói để vận
chuyển qua liên mạng. Bằng cách dùng các phân đoạn dữ liệu (Segment), chức
năng vận chuyển đảm bảo rằng các chủ các thông điệp tại cả hai đầu cuối của hệ
thống e-mail có thể liên lạc một cách tin cậy.
 Gắn địa chỉ mạng vào header: dữ liệu được đặt trong một gói (packet) hay
datagram chứa một header mạng với các địa chỉ luận lý của nguồn và đích. Các
địa chỉ này giúp các thiểt bị mạng gởi các gói qua mạng dọc theo đường dẫn đã
chọn.
 Gắn địa chỉ cục bộ vào header liên kết dữ liệu: mỗi thiết bị mạng phải đặt goi
vào trong một frame. Frame cho phép kết nối với thiết bị mạng kế tiếp được nối
trực tiếp trên liên kết. Mỗi thiết bị mạng trên đường dẫn mạng đã chọn yêu cầu
đóng frame để nó kết nối được đến thiết bị kế tiếp.
 Chuyển đổi thành các bit để truyền: frame phải được chuyển đổi thành các mẫu
bit 1 và 0 để truyền trên môi trường. Một chức năng đồng bộ (clocking) cho phép
các thiết bị phân biệt các bit này khi chúng di chuyển xuyên qua môi trường.
Môi trường trên liên mạng về mặt vật lý có thể thay đổi dọc theo đường dẫn. Ví
dụ, thông điệp e-mail có thể bắt nguồn từ một LAN, xuyên qua một backbone
của khuôn viên trường, đi ra một liên kết WAN cho đến khi đạt đến đích của nó

trên một LAN khác ở xa. Các header và trailer được thêm vào khi dữ liệu di
chuyển xuống các lớp của mô hình OSI.
2.4. Lập trình mạng :
2.4.1 Liên lạc trên Internet :
2.4.1.1 Họ giao thức TCP/IP :
Như trên đã nói, để hai hay nhiều máy tính nói chuyện được với nhau chúng
phải dùng chung một ngôn ngữ, chẳng hạn máy này phải gửi những tín hiệu gì đến máy
-23-
kia và máy kia phải gửi trả lại những tín hiệu nào để nhận biết. Trên Internet ngày nay
việc hai máy có thể trao đổi được với nhau đa số đều dựa theo giao thức cốt lõi là
TCP/IP (Transmission Control Protocol / Internet Protocol). Theo giao thức này mỗi
máy sẽ được đặt cho một số riêng biệt gọi là địa chỉ IP (IP address ) có vai trò tương tự
số điện thoại, chẳng hạn máy tính có tên www.microsoft.com thì có số IP là ……Các
số IP này phải là duy nhất và không được trùng nhau (trên toàn thế giới). Khi bạn
muốn có máy tính của mình có địa chỉ IP để tham gia vào hệ thống Internet toàn cầu
như là một máy chủ ( host hay server ) ta phải đăng ký với tổ chức quốc tế InterNIC
( Internet Network Information Center ) để nhận được một số IP riêng biệt.
Vậy tại sao vừa có địa chỉ IP lại vừa có tên riêng cho từng máy? Dùng cái nào
để liên lạc với một máy chủ (như ở trên , ta nên dùng www.microsoft.com hay
…… để kết nối với máy chủ). Thật ra, tên và địa chỉ IP là một, nhưng địa chỉ IP được
ghi bằng số, còn tên cho máy chủ lại được biểu diễn bằng chữ có ý nghĩa và gần gũi
hơn với con người. Với mỗi hệ thống đều có sự chuyển đổi trực tiếp từ tên vùng thành
địa chỉ IP thích hợp trước khi dữ liệu được gửi đi.
Ví dụ đối với Windows có thể tham khảo hai tập tin HOSTS và LMHOSTS, đây
là hai tập tin văn bản (được coi như một cơ sở dữ liệu) để lưu trữ tập hợp các số IP
cùng với tên tương ứng. Ta có thể tự thêm vào địa chỉ IP và tên máy chủ cách nhau
bằng khoảng trắng. Khi có nhu cầu truy cập đến một máy ở xa qua giao thức mạng
ICP/IP nếu gõ vào tên máy chủ thì hệ thống sẽ tự động tìm địa chỉ IP tương ứng trong
tập tin này.
Tên của máy chủ còn được gọi là tên vùng (domain name) bởi vì chúng được

đặt theo thứ tự phân cấp của tên lãnh thỗ, vùng, tổ chức, hay tên cá nhân … Mỗi nhóm
phân cấp cách nhau bằng một dấu chấm (.). Công việc theo dõi sự thay đổi tên được
phân phối qua Internet nhờ các máy chủ lớn DNS (Domain Name System) theo dõi các
máy chủ khác trong vùng con của chúng. Trước đây mỗi máy có thể tự mình lưu trữ
một tập tin chứa phần lớn các tên và địa chỉ của những máy chủ thông dụng (như trong
-24-
Windows là tập tin HOSTS hay LMHOSTS), nhưng ngày nay ta không làm như vậy
nữa mà đa số các tên vùng cũng như địa chỉ IP được lấy xuống từ các máy chủ DNS.
Khi đọc tên của một máy chủ ta đi từ trái sang phải. Nói chung là theo quy ước
từ phần riêng biệt đến phần chung nhất. Tuy nhiên không bắt buộc là như vậy, ta vẫn
có thể đặt tên theo cách khác không nhất thiết chỉ gồm 3 hay 4 nhóm (ví dụ: here
.is.along.name.address.com.vn là hợp lệ) bởi vì cuối cùng thì tên vùng cũng được hệ
thống DNS chuyển thành địa chỉ IP mà thôi.
Giả sử bạn muốn trình duyệt (browser) như IE hay Netscape truy tìm một tập tin
hay trang web của máy chủ Microsoft. Microft cung cấp cho bạn địa chủ của máy chủ
là www.microsoft.com. Đây chỉ là một chuỗi tên bình thường, muốn kết nối được với
máy chủ, trước tiên trình duyệt phải chuyển đổi được tên www.microsoft.com thành
địa chỉ IP tương ứng. Quá trình truy tìm địa chỉ IP diễn ra như sau:
1-Trình duyệt yêu cầu hệ điều hành trên máy khách chuyễn chuỗi
www.microsoft.com thành địa chỉ IP.
2–Máy khách truy tìm xem tên www.microsoft.com có được ánh xạ trong tập
tin HOSTS hay LMHOST hay không . Nếu có máy khách sẽ đổi tên
www.microsoft.com thành địa chỉ IP gửi về cho trình duyệt . Nếu không máy khách
tìm cách liên lạc với máy chủ DNS . Máy DNS lưu rất nhiều địa chỉ IP của các máy
chủ theo tên.
3–Nếu tìm thấy địa chỉ IP của tên www.microsoft.com , máy DNS sẽ gửi địa chỉ
IP về cho máy khách.
4–Máy khách chuyển địa chỉ IP cho trình duyệt.
5–Trình duyệt sử dụng địa chỉ IP liên lạc với máy chủ của Microsoft.
6–Quá trình kết nối thành công . Máy chủ Microsoft sẽ trả thông tin yêu cầu về

cho máy khách.
* Lưu ý :
-25-

×