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

Một phần của tài liệu 20101005023343_lvmmt7 (Trang 81)

- Đã giới thiệu được những kiến thức cơ bản, cần thiết để viết một ứng dụng mạng trên máy Pocket PC thông qua socket.

- Giới thiệu tương đối đầy đủ những kiến thức lập trình liên quan hỗ trợ cho lập trình mạng như: đa tuyến, đồng bộ tiến trình, các hàm gửi thông điệp window.... - Sau những kiến thức mới điều có những ví dụ minh họa giúp cho người đọc có

thể mau chóng hiểu được những kiến thức mới.

- Hai ứng dụng minh họa thể hiện tương đối đầy đủ những kỹ thuật cơ bản trong lập trình mạng, đặc biệt trên Pocket PC.

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

- Tiếp tục nghiên cứu các tài liệu về lập trình mạng trên máy Pocket PC về những chủ đề như: WinInet, sử dụng cổng số và cổng hồng ngoại, connection manager...

- Xây dựng cơ sở dữ liệu cho Ứng dụng chat giữa các Pocket PC hoặc Pocket PC với máy tính để bàn:

 Xây dựng những chat room cho phép các client kết nối. Từ đó, lưu trữ thông điệp gửi đến các client không kết nối đến server. Sau khi client đó kết nối đến server thì server sẽ gửi về những thông điệp offline đó(tương tự như Yahoo chat).

 Xây dựng thêm chức năng gửi file, gửi hình ảnh. - Nâng cao ứng dụng đ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.

Danh mục tài liệu tham khảo. Tiếng việt:

[1] Đặng Văn Đức - Lê Quốc Hưng(1999), Lập trình Window Bằng Visual C++, Nhà Xuất Bản Giáo Dục.

[2] Nguyễn Đình Tê, Tự Học Lập Trình Visual C++ MFC qua các ví dụ, Nhà Xuất Bản Lao Động – Xã Hội.

[3] Nguyễn Hồng Sơn, Giáo Trình Hệ Thống Mạng Máy Tính CCNA Semester 1, Nhà Xuất Bản Giáo Dục.

[4] Võ Thạch Chí Trường(2005), bao_cao_nien_luan_Pocket PC.

[5] http://www.fit.hcmuns.edu.vn/~tlhdu/classes/hdhnc/

Tiếng Anh:

[1] Addison Wesley, Pocket PC Network Programming eBookLiB.

Phụ lục.

Chương trình chat tuần tự giữa Client và Server.

Xây dựng Server:

#include "stdafx.h" #include "Server.h" #include "afxsock.h" #ifdef _DEBUG

#define new DEBUG_NEW #undef THIS_FILE

static char THIS_FILE[] = __FILE__; #endif

///////////////////////////////////////////////////////////////////////////// // The one and only application object

CWinApp theApp; using namespace std;

int _tmain(int argc, TCHAR* argv[], TCHAR* envp[]) {

int nRetCode = 0;

// initialize MFC and print and error on failure

if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0)) {

// TODO: change error code to suit your needs

cerr << _T("Fatal Error: MFC initialization failed") << endl; nRetCode = 1;

{

AfxSocketInit (NULL);

CSocket socketListen , socketAccept ; char sMsg[4096];

int nMsgLen ;

cout<<"Server dang cho ket noi..."<<endl;

if(!socketListen.Create (12345) || !socketListen.Listen () || ! socketListen.Accept (socketAccept))

{

cout<<"Khong tao duoc Socket"; exit(0);

}

cout<<"Server da nhan duoc ket noi "; do { socketAccept.Receive (&nMsgLen,sizeof(nMsgLen)); socketAccept.Receive (sMsg,nMsgLen); sMsg[nMsgLen] = 0 ; cout<<"Nhan :"; cout<<sMsg<<endl; if(strcmpi(sMsg,"exit")==0) break; cout<<"Gui : "; gets(sMsg); nMsgLen = strlen(sMsg); socketAccept.Send (&nMsgLen,sizeof(nMsgLen)); socketAccept.Send(sMsg,nMsgLen);

}while(strcmpi(sMsg,"exit") != 0); //Dong cac socket

socketAccept.Close (); socketListen.Close (); } return nRetCode; } Xây dựng Client: #include "stdafx.h" #include "SocketClient.h" #include "afxsock.h" #include "conio.h" #ifdef _DEBUG

#define new DEBUG_NEW #undef THIS_FILE

static char THIS_FILE[] = __FILE__; #endif

///////////////////////////////////////////////////////////////////////////// // The one and only application object

int menu();

CWinApp theApp; using namespace std;

int _tmain(int argc, TCHAR* argv[], TCHAR* envp[]) {

int nRetCode = 0;

{

// TODO: change error code to suit your needs

cerr << _T("Fatal Error: MFC initialization failed") << endl; nRetCode = 1;

} else {

// TODO: code your application's behavior here. AfxSocketInit(NULL);//khoi tao CSocket socketConnect; char sMsg[4096],sServerAddress[] = "127.0.0.1"; int nMsgLen; char header; if (!socketConnect.Create()|| !socketConnect.Connect(sServerAddress,1111)) {

cout<<"Khong ket noi duoc Server"; exit(0);

}

cout<<"ket noi server thanh cong "<<endl; do

{

cout<<" Thong diep :"; gets(sMsg);

nMsgLen=strlen(sMsg);

socketConnect.Send(&nMsgLen,sizeof(nMsgLen)); socketConnect.Send(sMsg,nMsgLen);

if(strcmpi(sMsg,”exit”)==0) break;

socketConnect.Receive(&nMsgLen,sizeof(nMsgLen)); socketConnect.Receive(sMsg,nMsgLen);

sMsg[nMsgLen]= 0;//end of string cout<<sMsg<<endl;

}while(strcmpi(sMsg,”exit”)!= 0); //Dong socket ket noi

socketConnect.Close(); }

return nRetCode; }

Một phần của tài liệu 20101005023343_lvmmt7 (Trang 81)

Tải bản đầy đủ (DOC)

(88 trang)
w