Tài liệu Lập trình mạng P8 docx

19 406 0
Tài liệu Lập trình mạng P8 docx

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Chương 7: Chương trình chat trên nhiềumáy Chương 1 1. Giớithiệu  Chứcnăng – Cho phép nhiềuuser đăng ký vào các nhóm để trò chuyệnvới nhau.  Mô hình lựachọn – Client/server  Server –Quản lý các nhóm và các user củatừng nhóm. – phân phốichuỗi thông tin từ một user đến các user khác.  Client –Giaotiếpvới các user. – Cho phép họ đăng ký nhóm; gởi/nhận thông tin cho nhau. Chương 1 1. Giớithiệu Giao thứcdùngchohệ thống MiniChat –Lệnh GLIST <CRLF> –Lệnh ULIST <CRLF> –Lệnh LOGIN <tên group>,<tên user> <CRLF> –Lệnh SEND <string> <CRLF> –Lệnh LOGOU <CRLF>  Dạng reply cho tấtcả các request –N <chuỗidữ liệuphụ kèm theo> – N = 1: Thành công, N = 0: Thất bại Mô hình 7 tầng OSI Chương 1 2. Giao diện Chương 1 2. Hàm xử lý biếncố  Tạo hàm xử lý biến cố cho từng button bằng cách chọn từng button, chọn mục event trong cửasổ Properties, cửasổ sau xuất hiện: Chương 1 2. Hàm xử lý biếncố Phương pháp chính quy để khai báo biếnvà hàm xử lý biếncố vớicác phầntử giao diệnlà dùng menu View.ClassWizard, cửa sổ ClassWizard xuất hiện, trang MessageMap cho phép khai báo các hàm xử lý biếncố: Chương 1 2. Hàm xử lý biếncố Để tạo các biếndữ liệu kếthợpvới các control, chọn project, class chứa biến, trang Member variables, sau đóchọn từng ID phầntử rồi ấn nút button “Add variable”, cửasổ sau xuấthiện: Chương 1 2. Hàm xử lý biếncố Kếtquả tạo4 biếnkếthợpvới 4 phầntử giao diện. Chương 1 2. Hàm xử lý biếncố BOOL CMiniChatServerDlg::OnInitDialog() { … // Tao socket moi, neu that bai bao sai ser_sock=socket(AF_INET,SOCK_STREAM,0); if(ser_sock==INVALID_SOCKET) { MessageBox("Khong tao duoc socket"); return TRUE; } // Thiet lap dia chi diem dau mut va bind no voi socket SOCKADDR_IN local_addr; local_addr.sin_family=AF_INET; local_addr.sin_port=256; local_addr.sin_addr.s_addr=INADDR_ANY; if(bind(ser_sock,(LPSOCKADDR)&local_addr,sizeof(local_addr))==SO CKET_ERROR) { MessageBox("Khong bind socket duoc"); return TRUE; } Chương 1 2. Hàm xử lý biếncố // Khai bao so yeu cau ket noi dong thoi if(listen(ser_sock,10)==SOCKET_ERROR) { MessageBox("Khong listen duoc"); return TRUE; } // Khai bao nhan du lieu bat dong bo + dong cau noi bat dong bo if (WSAAsyncSelect(ser_sock, m_hWnd, WSA_ACCEPT, FD_ACCEPT) > 0) { MessageBox("Error on WSAAsyncSelect()"); closesocket(ser_sock); } …}} [...]... (strncmp(mesg,"ULIST",5)==0) { // user list Do_ulist(sock); } else { // broadcast message Do_broadcastMesg(sock,mesg); } }} Chương 1 3 Kỹ thuật xử lý Multithread với Java Thread – Một luồng thực thi trong một chương trình – Máy ảo JVM cho phép một ứng dụng có nhiều luồng thực thi đồng thời Có 2 cách dùng Java multithread (đa luồng): – Khai báo một lớp kế thừa từ lớp Thread và override method Thread.run() – Khai báo . Chương 7: Chương trình chat trên nhiềumáy Chương 1 1. Giớithiệu  Chứcnăng – Cho phép nhiềuuser. –Lệnh LOGOU <CRLF>  Dạng reply cho tấtcả các request –N <chuỗidữ liệuphụ kèm theo> – N = 1: Thành công, N = 0: Thất bại Mô hình 7 tầng OSI

Ngày đăng: 22/12/2013, 21:17

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan