Tải bản đầy đủ (.docx) (92 trang)

Đề tài 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.8 MB, 92 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 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

-1-


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.

-2-


1.1. Cơ sở của đề tài : ...............................................................................................
1.2. Mục tiêu của đề tài : ..........................................................................................
1.3. Phạm vi của đề tài : ...........................................................................................
1.4. Cấu trúc của luận văn : ......................................................................................
2.1.

2.2.

2.3. Sơ lược về mạng : ............................................................................................


2.4.

-3-


2.4.2

Dịch vụ từ phía máy chủ và khái niệm cổng (PORT):...............................26

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: 27
2.4.4

Lập trình mạng thông qua Socket :.............................................................28

Chương 3 Lập trình mạng trên môi trường Pocket PC................................................29
3.1.

Cài đặt các phần mềm cần thiết:.......................................................................29

3.1.1

Cài đặt eMbedded Visual C++ 4.0..............................................................29

3.1.2


Cài đặt eVC4SP3.........................................................................................31

3.1.3

Cài đặt Pocket PC 2003 SDK......................................................................33

3.1.4

Cài đặt Emulator:.........................................................................................35

3.1.5

Cài đặt LoopBack Adapter..........................................................................37

3.1.6

Cấu hình mạng:............................................................................................40

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.....................................................................................69
4.1.

Mô tả ứng dụng minh họa:................................................................................69

4.1.1

Ứng dụng chat giữa Pocket PC với máy tính để bàn:.................................69

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:........................................................70

4.3.


Mô tả hoạt động của ứng dụng minh họa.........................................................72

4.3.1

Ứng dụng chat giữa Pocket PC với máy tính để bàn:.................................72

4.3.2

Ứng dụng điều khiển Power Point:.............................................................73

4.4.

-4-

Mô tả thuộc tính phương thức chủ yếu của ứng dụng minh họa:....................74


4.4.1

Ứng dụng chat giữa Pocket PC với máy tính để bàn:.................................74

4.4.2

Ứng dụng điều khiển Power Point:.............................................................76

4.5.

Mô tả màn hình kết quả của ứng dụng.............................................................77


4.5.1

Ứng dụng chat giữa Pocket PC với máy tính để bàn:.................................78

4.5.2

Ứng dụng điều khiển Power Point:.............................................................80

Chương 5 Đánh giá đề tài và đề xuất hướng phát triển kế tiếp...................................82
5.1.

Những kết quả đã đạt được...............................................................................82

5.2.

Đề xuất hướng phát triển..................................................................................82

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 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.

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
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:

-6-



 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 :
 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.
 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.

-7-


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.
2.1.2
2.1.2.1

-8-

Một vài khái niệm về phần cứng Pocket PC :
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).
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à

-9-


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.
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ệ

-10-


đ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
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:

-11-


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.9

Đị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.

-12-


 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).
 Á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.10

Đị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:

-13-


Đị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.
 Bảo đảm đã có thanh công cụ WCE Configuration.

Hình 2.4 Màn hình eVC4.0.

-14-


 Bảo đảm 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.11

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.
 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.

-15-


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 trên.
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.
Việc chọn không lưu tình trạng emulator cung cấp một image sạch trong
emulator khi khởi động lần tới. Image sạch này bao gồm cả hệ thống file và registry
mới.
Lưu trạng thái emulator cung cấp cơ hội tiếp tục làm việc từ điểm dừng làm việc
trước đó. Trạng thái emulator được lưu vào file nhị phân với phần mở rộng là.vsv; file
này được lưu trong thư mục C:\Documents and Settings\logonname\Application Data.
Chẳng hạn với logon name của Michael tên đường dẫn sẽ là C:\Documents and
Settings\Michael\Application Data. File.vsv này sẽ có kích thước xấp xỉ 14 MB. Xóa
file này sẽ làm cho emulator mất đi trạng thái lưu lại trước đó của nó.
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


-16-


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.
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

-17-



đí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 tin 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.
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.

-18-



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ể 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 đế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à

-19-



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 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


-20-


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ỉ.
* 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


-21-


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.
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 email 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 gói
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 email 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.

-22-



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 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ố đề 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

-23-


×