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

Lập trình mạng bằng pocket PC-part 3 docx

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 (120.39 KB, 10 trang )

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

 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.
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.
 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.
Lập trình mạng :
Liên lạc trên Internet :
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ố đề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 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 ý :
- Một địa chỉ IP cũng có thể được đặt cho nhiều tên khác nhau . Ví dụ bạn
có thể đặt trong tập tin HOSTS như sau:
HOSTS :
129.74.250.103 my.server.home
129.74.250.103 my.company.net
- Một máy cũng có thể có nhiều địa chỉ IP nếu có nhiều card giao tiếp mạng
.
Cách chuyển dữ liệu trên mạng , giao thức TCP và UDP :
Quá trình chuyển dữ liệu trên mạng diễn ra khá phức tạp. Chi tiết quá trình
này diễn ra tương tự như trong thực tế ta gửi thư hay bưu phẩm, trước hết phải ghi
rõ địa chỉ nơi đến (trường hợp này là địa chỉ IP của máy chủ), sau đó có thể gửi
thông thường hay gửi bảo đảm (tùy theo cách gửi mà thư hay bưu phẩm có chắc

chắn đến được tay người nhận hay không), người nhận sau khi nhận được có thể
hồi âm trả lời là đã nhận đủ hoặc bị mất mát gì đó trong quá trình chuyển tải.
Người gửi có thể gửi tiếp những phần bị mất (hoặc không cần gửi nữa).
Cách chuyển dữ liệu bảo đảm dựa vào giao thức TCP (Transmission
Control Protocol) còn cách chuyển không bảo đảm dựa vào giao thức UDP (User
Datagram Protocol).
Giao thức TCP gửi từng gói dữ liệu đi, nơi nhận theo giao thức này phải có
trách nhiệm thông báo và kiểm tra xem dữ liệu đã đến đủ hay chưa, có lỗi hay
không có lỗi. Trước khi chuyển dữ liệu bao giờ cũng có sự kết nối giữa máy gửi
và máy nhận. Do phải bảo đảm dữ liệu được truyền chính xác và luôn duy trì két
nối nên sử dụng giao thức TCP cần chiếm thêm một số tài nguyên của hệ thống và
cách lập trình cho giao thức này hơi khó (phải thực hiện các bước kiểm tra dữ liệu
theo yêu cầu của TCP). Truyền dữ liệu theo TCP thường áp dụng cho các dịch vụ
như truyền tập tin, các dịch vụ trực tuyến trên Internet đòi hỏi độ tin cậy cao….
Giao thức UDP ngược lại không đáng tin cậy lắm, không có sự kết nối
trước nào giữa nơi gửi và nơi nhận, dữ liệu gửi đi mặc định rằng máy tính ở đầu
nhận luôn ở trạng thái sẵn sàng để tiếp đón dữ liệu gửi đến. Nếu dữ liệu gửi đến bị
lỗi trong quá trình truyền hay không nhận được đậy đủ, giao thức UDP cũng
không có thông tin phản hồi gì lại cho nơi gửi. Tuy nhiên, UDP không đòi hỏi
nhiều tài nguyên của hệ thống và cách lập trình lại tỏ ra đơn giản. Truyền dữ liệu
theo giao thức UDP thường được dùng trong những ứng dụng không đòi hỏi sự
chính xác cao như dịch vụ thông báo giờ , tỉ giá hay các dịch vụ gửi nhắn tin….

×