MỤC LỤC
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. 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.
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). 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.
Người dùng có thể mua phương thức nhập liệu mã Morse và cài đặt nó ở nhà.
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. 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. 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.
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. 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. Các chương trình ở máy khách (client) như trình duyệt (web browser) hay chương trình gửi nhận email sẽ tạo ra kết nối (connection) với một máy chủ ở xa (server) sau đó gửi các yêu cầu đến máy chủ, các chương trình dịch vụ trên máy chủ như Web Server hay Mail server … sẽ xử lý những yêu cầu này và kết quả ngược về cho máy khách (chẳng hạn Web server sẽ truy tìm và trả về, cho máy khách các trang web theo địa chỉ mà máy khách đưa đến, còn Mail server thì lưu giữ và gửi về cho máy khách những bức e-mail mới).
Chờ khoảng vài phút xuất hiện hộp thoại chọn OK để kết thúc quá trình cài đặt. Bung nén tập tin evc4sp3.exe trong thư mục SOFT\eVC4SP3 trong đĩa CD kèm theo. Chúng ta lần lượt cài đặt 3 tập tin Windows Mobile 2003 Second Edition Developer Resources.msi Windows Mobile 2003 Second Edition Emulator Images for Pock.msi UK English Emulation Image; bung nén tập tin English-NoRadio.
Chạy tập tin Windows Mobile 2003 Second Edition Developer Resources.msi trong đĩa CD kèm theo. Trong hộp thọai Is the hardware connected chọn Yes I have already connected the hardware sau đó chọn Next. Trong hộp thọai kế tiếp chọn Install the hardware that I manually select from a list(Advanced) sau đó chọn Next.
Trong danh sách Manufacturer chọn Microsoft chọn Microsoft Loopback Adapter trong danh sách Network Adapter sau đó chọn Next.
B3 : Gọi hàm bind() để kết buộc socket mới vừa tạo với một địa chỉ cục bộ. B2 : Tạo một socket để truy cập kết nối trên mạng B3 : Gọi hàm connect() để kết nối đến Server. B1 : Tạo một socket để truy cập kết nối trên mạng B2 : Gọi hàm Connect() để kết nối đến Server.
Nếu có lỗi xảy ra khi gọi hàm winsock ( ngoại trừ gọi hàm WSAStartup(), nó sẽ trả về một mã lỗi), hầu hết những hàm sẽ trả về SOCKET_ERROR của Winsock chuẩn ( được xác định trong winsock.h, thường là -1). Nếu ta thành công trong việc thiết lập một kết nối đến Server xác định bởi tham số name , thì hàm này sẽ trả về giá trị 0, ngược lại lỗi một SOCKET_ERROER sẽ xảy ra. Chú ý rằng: Nếu một kết nối đã bị đứt (broken) trong lúc Client và Server đang truyền tin với nhau thì ứng dụng của ta cần phải bỏ socket cũ và tạo một socket mới để thiết lập lại việc truyền tin giữa Client và Server.
Sự khác nhau cơ bản của việc truyền dữ liệu giữa luồng kết nối Server và Client là cách kết nối được thiết lập (Client thì tạo kết nối, còn Server thì lắng nghe kết nối). Dùng INADDR_ANY làm cho chúng ta có thể kết buộc socket vào tất cả những địa chỉ IP có sẵn trên thiết bị của chúng ta, do đó những kết nối vào trên bất kỳ giao diện nào cũng được chấp nhận bởi socket của chúng ta. Nếu có lỗi hàm listen() sẽ trả về giá trị SOCKET_ERROR, ngược lại là giá trị 0 Cuối cùng để nhận socket của kết nối vào, chúng ta cần gọi hàm accept(), được xác định như sau.
Tham số addr chỉ bộ đệm dùng để nhận hoặc là một cấu trúc SOCKADDR_IN hoặc là SOCKADDR_IRDA tùy thuộc vào giao thức mà socket đã dùng, chứa những thông tin về kết nối vào. Điều này là do accept() là hàm khóa, nghĩa là nó sẽ không trả về giá trị cho đến khi có kết nối từ một client hoặc socket lắng nghe bị hủy (ta cũng có thể thiết lập một tùy chọn socket để đặt nó ở chế độ không khóa). Tất cả những tham số này đều có ý nghĩa tương tự như các tham số của hàm Send() ở trên.Nếu không có lỗi xảy ra thì giá trị trả về của hàm này là tổng số byte nhận được.
Trong CSocket, chúng không cần thiết phải gọi hàm bind(), bởi vì sau khi gọi hàm Create() thì tự động hàm bind() sẽ được gọi để kết buộc socket đến địa chỉ xác định. Hàm này thường được sử dụng ở Server( hoặc có thể ở bất kỳ ứng dụng nào muốn chấp nhận kết nối vào) cho phép có nhiều hơn một kết nối được yêu cầu ở cùng một thời điểm. Các biến được sử dụng trong ví dụ này sẽ gồm 2 biến CSocket một để mở cổng và một để truyền dữ liệu (Trong thực tế, một cổng có thể cho phép nhiều client nối vào, khi đó vẫn chỉ có một CSocket để mở cổng nhưng sẽ có nhiều CSocket để truyền dữ liệu).
Do đặc điểm của chương trình chat giữa Pocket PC và các máy tính để bàn có kết nối mạng là Pocket PC có khả năng cùng lúc có thể liên lạc được với nhiều máy tính để bàn, do đó trong ứng dụng này đòi hỏi phải sử dụng kỹ thuật lập trình song song. Ngoài việc một luồng tự kết thúc khi hàm dùng để cài đặt luồng kết thúc, ta còn có thể yêu cầu luồng kết thúc tức thời. Kết thúc luồng hiện hành: dùng hàm ExitThread(dwExitCode) trong đó dwExitCode là mã lỗi trả về, thường là bằng 0.
-Nhận các thông điệp, biên dịch các thông điệp thành mã phím tướng ứng, gửi đến Power Point.Nếu thông điệp “exit” đóng socket, đóng tuyến xử lý. BOOL OnInitDialog Khởi tạo giá trị ban đầu cho dữ liệu void OnTaodichvu Tạo dịch vụ điều khiển Power Point. Nếu đăng ký nick name thành công, thì trong ListBox “Danh sách” sẽ thể hiện tất cả các nick name của các client đã kết nối đến dịch vụ.
Sau khi đã chọn một nick name, ta có thể nhập thông điệp vào trong textbox bên dưới, chọn nút Gửi để gửi thông điệp. Khi có thông điệp của client nào đó gửi đến thì bên cạnh nick name của client đó sẽ xuất hiện thêm chữ new bên cạnh. Mặt khác, chúng ta có thể click nút chọn trong nhóm Gửi nhiều người để có thể gửi cùng lúc một thông điệp cho nhiều người.
Sau khi nhấn chọn nút này màn hình đăng nhập địa chỉ server sẽ hiện ra, chúng ta sẽ nhập địa chỉ server đang mở dịch vụ điều khiển Power Point.
Điều khiển một Power Point xác định nếu hệ điều hành đang chạy nhiều cửa sổ Power Point. Sử dụng các phím của mũi tên của chính Pocket PC để điều khiển Power Point.