Ứng dụng Socket xây dựng
chương trình Chat trong
mạng LAN
By: Nhóm 6
MM02A
LẬP TRÌNH MẠNG NÂNG CAO
Tổng quan
Tổng quan
•
Chương I : Tổng quan về Lập trình Socket
•
Chương II : Ứng dụng lập trình socket lập trình
phần mềm chat trong Mạng LAN
•
Chương III : Kết luận và hướng phát triển đề tài
Chương I
Chương I
: Tổng quan về Lập trình Socket
: Tổng quan về Lập trình Socket
Giới thiệu về Sockets
Giới thiệu về Sockets
•
Socket là một trong những kỹ thuật cơ bản
nhất trong truyền thông trên mạng máy
tính
•
Socket được sử dụng để một tiến trình “nói
chuyện” với một tiến trình khác.
Chương I
Chương I
: Tổng quan về Lập trình Socket
: Tổng quan về Lập trình Socket
Các loại socket
Các loại socket
•
Stream socket: TCP socket
•
Datagram socket: UDP socket
•
Raw socket: IP socket
•
Nhiều ứng dụng thông dụng hiện nay sử dụng kỹ
thuật socket như: trình Chat,duyệt web, email
client, …
Chương I
Chương I
: Tổng quan về Lập trình Socket
: Tổng quan về Lập trình Socket
TCP
TCP
•
Hướng kết nối
•
Đảm bảo độ tin cậy trong quá trình truyền dữ liệu
•
Phân đoạn dữ liệu truyền thành các gói tin đơn lẻ
•
Dữ liệu truyền được đánh số thứ tự
•
Cung cấp cơ chế phản hồi sau khi nhận được dữ liệu
•
Sử dụng cơ chế phát hiện lỗi checksums
Chương I
Chương I
: Tổng quan về Lập trình Socket
: Tổng quan về Lập trình Socket
UDP
UDP
•
Phi kết nối
•
Không phân đoạn dữ liệu truyền
•
Nếu có lỗi xảy ra, ứng dụng bắt buộc phải thực hiện
truyền lại dữ liệu
•
Không có cơ chế phản hồi sau khi nhận dữ liệu
Chương I
Chương I
: Tổng quan về Lập trình Socket
: Tổng quan về Lập trình Socket
Sockets
Sockets
•
Sockets có một địa chỉ IP và một số hiệu cổng dịch
vụ
Chương I
Chương I
: Tổng quan về Lập trình Socket
: Tổng quan về Lập trình Socket
Địa chỉ socket
Địa chỉ socket
•
Địa chỉ của một socket trên mạng TCP/IP gồm có hai
phần:
–
Địa chỉ IP: một số nguyên 32 bits một card mạng
trên máy tính (host)
–
Cổng dịch vụ: 16 bits xác định điểm kết nối với
một ứng dụng trên một host.
Chương I
Chương I
: Tổng quan về Lập trình Socket
: Tổng quan về Lập trình Socket
Passive/Active Socket
Passive/Active Socket
•
Active socket được sử dụng ở chương trình client để
thiết lập kết nối đến chương trình server
•
Passive socket được sử dụng ở chương trình server để
chờ nhận các kết nối đến từ client
Chương I
Chương I
: Tổng quan về Lập trình Socket
: Tổng quan về Lập trình Socket
TCP Connection
TCP Connection
connection request
connection request
Tiến trình
Tiến trình
Client
Client
Thiết lập kết nối
Thiết lập kết nối
Tiến trình
Tiến trình
Client
Client
connection
connection
Chương I
Chương I
: Tổng quan về Lập trình Socket
: Tổng quan về Lập trình Socket
Chức năng chính client kết nối tới
Chức năng chính client kết nối tới
server(tcp)
server(tcp)
•
Xác định địa chỉ IP và cổng dịch vụ ở server
•
Tạo một socket với cổng dịch vụ cục bộ bất kỳ do
TCP chỉ định
•
Kết nối socket đến server
•
Gửi yêu cầu và nhận thông tin phản hồi từ server
•
Đóng kết nối
Chương I
Chương I
: Tổng quan về Lập trình Socket
: Tổng quan về Lập trình Socket
Chức năng chính server chấp nhận kết nối
Chức năng chính server chấp nhận kết nối
client(tcp)
client(tcp)
•
Tạo một socket và gán cho socket một địa chỉ cố định
(IP và port) để cung cấp dịch vụ
•
Đặt socket ở chế độ passive
•
Chấp nhận yêu cầu thiết lập kết nối từ client và nhận
socket mới từ hệ thống
•
Thực hiện quá trình lặp nhận yêu cầu và gửi thông tin
phản hồi
•
Khi client kết thúc, đóng kết nối và trở về trạng thái
chờ chấp nhận yêu cầu thiết lập kết nối từ các client
Chương I
Chương I
: Tổng quan về Lập trình Socket
: Tổng quan về Lập trình Socket
UDP Client
UDP Client
•
Xác định địa chỉ IP và cổng dịch vụ ở server
•
Tạo một socket với cổng dịch vụ cục bộ bất kỳ do
UDP chỉ định
•
Chỉ định server cần giao tiếp
•
Gửi yêu cầu và nhận thông tin phản hồi từ server
•
Đóng socket
Chương I
Chương I
: Tổng quan về Lập trình Socket
: Tổng quan về Lập trình Socket
UDP Server
UDP Server
•
Tạo một socket và gán cho socket một địa chỉ cố định
(IP và port) để cung cấp dịch vụ
•
Thực hiện quá trình lặp nhận yêu cầu và gửi thông tin
phản hồi
Chương II
Chương II
: Ứng dụng lập trình socket lập trình
: Ứng dụng lập trình socket lập trình
phần mềm chat trong Mạng LAN
phần mềm chat trong Mạng LAN
Giới thiệu phần mềm
Giới thiệu phần mềm
•
Phần mềm Chat trong mạng LAN được lập trình bằng
kĩ thuật socket không đồng bộ với hai phần chính đó
là Server và Client
•
Client là phần đươc sử dụng trên máy giữa những
người muốn chat với nhau, khi khơi động sẽ kết nối
đến Server và thông qua Server để trao đổi thông tin
giữa các Client khác
•
Server được được thiết kế như là trung tâm giúp tiếp
nhận kết nối giữa các Client và giúp các Client trao
đổi dữ liệu với nhau.
Chương II
Chương II
: Ứng dụng lập trình socket lập trình
: Ứng dụng lập trình socket lập trình
phần mềm chat trong Mạng LAN
phần mềm chat trong Mạng LAN
Giao diện Client
Giao diện Client
Chương II
Chương II
: Ứng dụng lập trình socket lập trình
: Ứng dụng lập trình socket lập trình
phần mềm chat trong Mạng LAN
phần mềm chat trong Mạng LAN
Client Kết nối tới server
Client Kết nối tới server
Chương II
Chương II
: Ứng dụng lập trình socket lập trình
: Ứng dụng lập trình socket lập trình
phần mềm chat trong Mạng LAN
phần mềm chat trong Mạng LAN
Giao diện Server
Giao diện Server
Chương II
Chương II
: Ứng dụng lập trình socket lập trình
: Ứng dụng lập trình socket lập trình
phần mềm chat trong Mạng LAN
phần mềm chat trong Mạng LAN
Lắng nghe kết nối từ client
Lắng nghe kết nối từ client
Chương III
Chương III
: Kết luận và hướng phát triển đề tài
: Kết luận và hướng phát triển đề tài
KẾT THÚC
DEMO CHƯƠNG TRÌNH