BÀI TẬP LỚN MẠNG MÁY TÍNH Đề tài: LẬP TRÌNH SOCKET ỨNG DỤNG CHIA SẺ FILE DÙNG CƠ CHẾ CLIENTSERVER

38 12 0
BÀI TẬP LỚN MẠNG MÁY TÍNH Đề tài: LẬP TRÌNH SOCKET ỨNG DỤNG CHIA SẺ FILE DÙNG CƠ CHẾ CLIENTSERVER

Đ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

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ VIỄN THÔNG BÀI TẬP LỚN MẠNG MÁY TÍNH Đề tài LẬP TRÌNH SOCKET ỨNG DỤNG CHIA SẺ FILE DÙNG CƠ CHẾ CLIENT SERVER Sinh viên thực hiện 20182498 BÙI TRẦN HIỂN 201. MỤC LỤC DANH MỤC HÌNH VẼ i DANH MỤC BẢNG BIỂU ii TÓM TẮT BÀI TẬP LỚN iii CHƯƠNG 1. GIỚI THIỆU CHUNG 1 1.1 Tổng quan về mạng máy tính . . . . . . . . . . . . . . . . . . . . . . . 1 1.1.1 Khái niệm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1.2 Lợi ích của mạng máy tính . . . . . . . . . . . . . . . . . . . . 2 1.2 Tổng quan về mạng máy tính . . . . . . . . . . . . . . . . . . . . . . . 2 1.2.1 Bộ giao thức TCP (Transmission Control Protocol) . . . . . . . 2 1.2.1.1 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . 2 1.2.1.2 Cấu trúc gói tin TCP . . . . . . . . . . . . . . . . . . 2 1.2.2 Bộ giao thức liên mạng (IP Protocol) . . . . . . . . . . . . . . 4 1.2.2.1 Đặc điểm của giao thức IP . . . . . . . . . . . . . . . 5 1.2.2.2 Cấu trúc gói tin . . . . . . . . . . . . . . . . . . . . 5 1.2.2.3 Cấu trúc địa chỉ IP . . . . . . . . . . . . . . . . . . . 7 CHƯƠNG 2. TỔNG QUAN VỀ SOCKET 9 2.1 Giới thiệu chung về Socket . . . . . . . . . . . . . . . . . . . . . . . . 9 2.1.1 Khái niệm Socket . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.1.2 Các loại Socket . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.1.3 Cấu trúc Socket . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.2 Các hàm cơ bản dùng cho lập trình Socket . . . . . . . . . . . . . . . . 12 2.2.1 Hàm socket() . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.2 Hàm bind() . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2.3 Hàm connect() . . . . . . . . . . . . . . . . . . . . . . . . . . 132.2.4 Hàm listen() . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2.5 Hàm accept() . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2.6 Hàm send() . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.2.7 Hàm recv() . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.2.8 Hàm read() . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.2.9 Hàm write() . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.2.10 Hàm sendto() . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.2.11 Hàm recvfrom() . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.2.12 Hàm fork() – Khởi tạo process . . . . . . . . . . . . . . . . . . 15 2.2.13 Hàm close() shutdown() . . . . . . . . . . . . . . . . . . . . . 15 2.2.14 Hàm thiết lập bộ nhớ memset() . . . . . . . . . . . . . . . . . 16 2.2.15 Hàm so sánh memcmp() . . . . . . . . . . . . . . . . . . . . . 16 2.2.16 Hàm copy bộ nhớ memcpy() . . . . . . . . . . . . . . . . . . . 16 2.2.17 getaddrinfo(), freeaddrinfo(), gaistrerror() . . . . . . . . . . . . 17 2.3 Mô hình TCP Socket dùng cơ chế Client – Server . . . . . . . . . . . . 17 2.3.1 Mô hình Client – Server . . . . . . . . . . . . . . . . . . . . . 17 2.3.2 Giao tiếp giữa Client and Server sử dụng TCP . . . . . . . . . . 18 CHƯƠNG 3. LẬP TRÌNH SOCKET ỨNG DỤNG CHIA SẺ FILE DÙNG CƠ CHẾ CLIENTSERVER 20 3.1 Giới thiệu về chương trình thiết kế . . . . . . . . . . . . . . . . . . . . 20 3.2 Phân tích chương trình và giao diện . . . . . . . . . . . . . . . . . . . 21 KẾT LUẬN 28 Kết luận chung 28 Hướng phát triển 28 TÀI LIỆU THAM KHẢO 29

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ VIỄN THƠNG BÀI TẬP LỚN MẠNG MÁY TÍNH Đề tài: LẬP TRÌNH SOCKET ỨNG DỤNG CHIA SẺ FILE DÙNG CƠ CHẾ CLIENT-SERVER Sinh viên thực hiện: 20182498 - BÙI TRẦN HIỂN 20182593 - PHẠM THỊ THANH HUYỀN 20182807 - VŨ ĐỨC THỊNH 20182405 - VŨ NGỌC CƯỜNG 20182682 - LÊ THANH MINH Giảng viên hướng dẫn: PGS.TS.TRẦN QUANG VINH Hà Nội - 2022 TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ VIỄN THÔNG BÀI TẬP LỚN MẠNG MÁY TÍNH Đề tài: LẬP TRÌNH SOCKET ỨNG DỤNG CHIA SẺ FILE DÙNG CƠ CHẾ CLIENT-SERVER Sinh viên thực hiện: 20182498 - BÙI TRẦN HIỂN 20182593 - PHẠM THỊ THANH HUYỀN 20182807 - VŨ ĐỨC THỊNH 20182405 - VŨ NGỌC CƯỜNG 20182682 - LÊ THANH MINH Giảng viên hướng dẫn: PGS.TS.TRẦN QUANG VINH Hà Nội - 2022 LỜI NÓI ĐẦU Ngày nay, công nghệ thông tin ứng dụng rộng rãi lĩnh vực kinh tế, xã hội, y tế, Đây công cụ thiếu cho việc phát triển thương mại, vận hành hệ thống cách tổ chức, doanh nghiệp phục vụ nhu cầu cơng việc, giải trí cá nhân Trong đó, mạng máy tính Internet đóng vai trò quan trọng định tồn tổ chức, doanh nghiệp Máy tính trở thành công cụ đắc lực thiếu người Các tổ chức, công ty hay quan cần phải xây dựng hệ thống mạng máy tính cho riêng để trao đổi liệu phận Dữ liệu truyền mạng phải đảm bảo liệu truyền tới đích nhanh chóng đắn Hầu hết liệu truyền qua mạng truyền dạng file Truyền file qua mạng ứng dụng phổ biến mạng LAN Internet tải xuống file từ máy chủ file xa, gửi/nhận thư điện tử Truyền file qua mạng dựa Socket TCP phương pháp truyền file có độ tin cậy cao trước truyền cần thiết lập thành cơng kênh truyền liệu Không phải phương pháp thay hoàn toàn phương pháp truyền file khác mà ta sử dụng Bản chất phương pháp truyền file dựa vào Socket TCP nhằm tăng thêm hiệu xuất làm việc Đó lý chúng em chọn đề tài: “Lập trình SOCKET ứng dụng chia sẻ file sử dụng chế client – server” Chúng em xin cảm ơn thầy PGS.TS Trần Quang Vinh tận tình hướng dẫn, giúp đỡ chúng em hoàn thành tốt đề tài Vì thời gian kiến thức cịn hạn hẹp nên báo cáo tránh khỏi thiếu sót, mong góp ý thầy để chúng em rút kinh nghiệm hoàn thành tốt Chúng em xin chân thành cảm ơn! LỜI CAM ĐOAN Nhóm chúng em bao gồm thành viên: Bùi Trần Hiển, Phạm Thị Thanh Huyền, Vũ Đức Thịnh, Vũ Ngọc Cường, Lê Thanh Minh giảng viên hướng dẫn PGS.TS.Trần Quang Vinh Chúng em xin cam đoan toàn nội dung trình bày tập lớn "Lập trình SOCKET ứng dụng chia sẻ file sử dụng chế client – server" kết trình tìm hiểu nghiên cứu chúng em Các liệu nêu tập lớn hoàn toàn trung thực phản ánh kết đo đạc thực tế Mọi thơng tin trích dẫn tn thủ quy định sở hữu trí tuệ; tài liệu tham khảo liệt kê rõ ràng Chúng em xin chịu hoàn toàn trách nhiệm với nội dung viết đồ án Hà Nội, ngày tháng năm 2021 Người cam đoan NHÓM SINH VIÊN THỰC HIỆN MỤC LỤC DANH MỤC HÌNH VẼ i DANH MỤC BẢNG BIỂU ii TÓM TẮT BÀI TẬP LỚN iii CHƯƠNG GIỚI THIỆU CHUNG 1.1 Tổng quan mạng máy tính 1.1.1 Khái niệm 1.1.2 Lợi ích mạng máy tính Tổng quan mạng máy tính 1.2.1 Bộ giao thức TCP (Transmission Control Protocol) 1.2.1.1 Giới thiệu 1.2.1.2 Cấu trúc gói tin TCP Bộ giao thức liên mạng (IP Protocol) 1.2.2.1 Đặc điểm giao thức IP 1.2.2.2 Cấu trúc gói tin 1.2.2.3 Cấu trúc địa IP 1.2 1.2.2 CHƯƠNG TỔNG QUAN VỀ SOCKET 2.1 Giới thiệu chung Socket 2.1.1 Khái niệm Socket 2.1.2 Các loại Socket 2.1.3 Cấu trúc Socket 10 Các hàm dùng cho lập trình Socket 12 2.2.1 Hàm socket() 12 2.2.2 Hàm bind() 13 2.2.3 Hàm connect() 13 2.2 2.3 2.2.4 Hàm listen() 13 2.2.5 Hàm accept() 13 2.2.6 Hàm send() 14 2.2.7 Hàm recv() 14 2.2.8 Hàm read() 14 2.2.9 Hàm write() 14 2.2.10 Hàm sendto() 14 2.2.11 Hàm recvfrom() 15 2.2.12 Hàm fork() – Khởi tạo process 15 2.2.13 Hàm close() / shutdown() 15 2.2.14 Hàm thiết lập nhớ - memset() 16 2.2.15 Hàm so sánh memcmp() 16 2.2.16 Hàm copy nhớ memcpy() 16 2.2.17 getaddrinfo(), freeaddrinfo(), gaistrerror() 17 Mơ hình TCP Socket dùng chế Client – Server 17 2.3.1 Mơ hình Client – Server 17 2.3.2 Giao tiếp Client and Server sử dụng TCP 18 CHƯƠNG LẬP TRÌNH SOCKET ỨNG DỤNG CHIA SẺ FILE DÙNG CƠ CHẾ CLIENT-SERVER 20 3.1 Giới thiệu chương trình thiết kế 20 3.2 Phân tích chương trình giao diện 21 KẾT LUẬN 28 Kết luận chung 28 Hướng phát triển 28 TÀI LIỆU THAM KHẢO 29 DANH MỤC HÌNH VẼ Hình 1.1 Các thành phần mạng máy tính Hình 1.2 Cấu trúc bảng tin TCP Hình 1.3 Cơ chế bắt tay bước TCP Hình 1.4 Cấu trúc gói tin IP Hình 1.5 Chỉ thị quyền ưu tiên gửi datagram Hình 1.6 Cấu trúc địa IP Hình 2.1 Ví dụ loại Socket 10 Hình 2.2 Cấu trúc Socket 11 Hình 2.3 Quá trình giao tiếp Client Server dùng TCP 19 Hình 3.1 Hàm truyền file bên phía server 20 Hình 3.2 Hàm nhận file bên phía client 21 Hình 3.3 Giao diện đăng nhập vào Server 22 Hình 3.4 Giao diện đăng nhập vào Client 22 Hình 3.5 Giao diện Server nhập Username Password 23 Hình 3.6 Giao diện Client nhập Username Password 23 Hình 3.7 Giao diện Server đăng nhập 24 Hình 3.8 Giao diện Client đăng nhập 24 Hình 3.9 Giao diện chương trình thực thao tác 25 Hình 3.10 Giao diện chương trình thực thao tác 25 Hình 3.11 Giao diện Client thực thao tác 26 Hình 3.12 Giao diện nhập tệp redLD.jpg vào Client thực thao tác lưu thành công 26 27 Hình 3.13 Thư mục clientdata khi chưa thực thao tác Hình 3.14 Thư mục clientdata thực thao tác có thêm tệp redLD i 27 DANH MỤC BẢNG BIỂU Bảng 2.1 Một số hàm lập trình Socket ii 12 TÓM TẮT BÀI TẬP LỚN Bài tập lớn tóm tắt sơ lược sở lý thuyết giao thức mạng máy tính cụ thể chế TCP/IP sử dụng lập trình SOCKET ứng dụng truyền file Bên cạnh đó, tập lớn trình bày phần code mô SOCKET để truyền file server client có hai địa IP khác iii CHƯƠNG GIỚI THIỆU CHUNG Chương giới thiệu tổng quan mạng máy tính, giao thức sử dụng mạng máy tính chế TCP/IP 1.1 1.1.1 Tổng quan mạng máy tính Khái niệm Mạng máy tính nhóm thiết bị kết nối với thông qua phương tiện truyền dẫn dây dẫn, dây cáp, Các thiết bị máy tính, máy in, máy scan, máy Fax Mục đích mạng máy tính để gửi nhận liệu lưu trữ thiết bị khác qua mạng Có thành phần mạng máy tính: Hình 1.1 Các thành phần mạng máy tính • Message: liệu hay thông tin cần truyền từ thiết bị sang thiết bị khác qua mạng máy tính • Sender: thiết bị có liệu cần gửi liệu đến thiết bị khác kết nối với mạng • Receiver: thiết bị mong đợi liệu từ thiết bị khác mạng • Transmission media: phương tiện truyền dẫn truyền liệu từ thiết bị qua thiết bị khác dây dẫn, cáp, sóng radio, • Protocol: Giao thức tập hợp quy tắc người gửi người nhận đồng ý, khơng có giao thức hai thiết bị kết nối với ... số hàm lập trình Socket ii 12 TÓM TẮT BÀI TẬP LỚN Bài tập lớn tóm tắt sơ lược sở lý thuyết giao thức mạng máy tính cụ thể chế TCP/IP sử dụng lập trình SOCKET ứng dụng truyền file. ..TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ VIỄN THƠNG BÀI TẬP LỚN MẠNG MÁY TÍNH Đề tài: LẬP TRÌNH SOCKET ỨNG DỤNG CHIA SẺ FILE DÙNG CƠ CHẾ CLIENT-SERVER Sinh viên thực hiện: 20182498 - BÙI TRẦN... xin cam đoan tồn nội dung trình bày tập lớn "Lập trình SOCKET ứng dụng chia sẻ file sử dụng chế client – server" kết trình tìm hiểu nghiên cứu chúng em Các liệu nêu tập lớn hoàn toàn trung thực

Ngày đăng: 01/03/2023, 00:22

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

Tài liệu liên quan