Lập trình Socket

40 1.1K 9
Lập trình Socket

Đ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

Lập trình Socket

1LẬP TRÌNH LẬP TRÌNH SOCKETSOCKETKhoa Mạng máy tính & Truyền thôngKhoa Mạng máy tính & Truyền thông- Đại học Công nghệ Thông tin -- Đại học Công nghệ Thông tin - 2 Nội dungNội dungGiới thiệu lập trình socketGiới thiệu lập trình socketTCP/IPTCP/IPSocket và TCP/IPSocket và TCP/IPLập trình WinsockLập trình WinsockCấu trúc chương trình ứng dụngCấu trúc chương trình ứng dụngSử dụng IDE: Visual C++Sử dụng IDE: Visual C++Tổng kếtTổng kết 3 Ký hiệu viết tắtKý hiệu viết tắtIPC: InterProcess CommunicationIPC: InterProcess CommunicationBSD: Berkeley Software DistributionBSD: Berkeley Software DistributionTCP: Transmission Control ProtocolTCP: Transmission Control ProtocolUDP: User Datagram ProtocolUDP: User Datagram ProtocolIP: Internet ProtocolIP: Internet Protocol 4 Giới thiệu về SocketsGiới thiệu về SocketsSocket là một trong những kỹ thuật cơ bản nhất 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ínhtrong truyền thông trên mạng máy tínhSocket là một phương thức thực hiện truyền Socket là một phương thức thực hiện truyền thông giữa các tiến trình được BSD đề xuất.thông giữa các tiến trình được BSD đề xuất.Socket được sử dụng để một tiến trình “nói 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.chuyện” với một tiến trình khác.Nhiều ứng dụng thông dụng hiện nay sử dụng Nhiều ứng dụng thông dụng hiện nay sử dụng kỹ thuật socket như: trình duyệt web, email kỹ thuật socket như: trình duyệt web, email client, …client, … 5 Socket APISocket APIGiao diện lập trình socket trên Windows, Giao diện lập trình socket trên Windows, winsock, là một đặc tả của nhiều hãng phần winsock, là một đặc tả của nhiều hãng phần mềm nhằm chuẩn hóa cách thức sử dụng mềm nhằm chuẩn hóa cách thức sử dụng TCP/IP trên Windows. Socket API dựa trên nền TCP/IP trên Windows. Socket API dựa trên nền Berkeley socket.Berkeley socket.Trong BSD Unix, socket là một phần trong Trong BSD Unix, socket là một phần trong kernel của hệ điều hành. Nó cung cấp các dịch kernel của hệ điều hành. Nó cung cấp các dịch vụ IPC cục bộ hoặc giữa các tiến trình trên vụ IPC cục bộ hoặc giữa các tiến trình trên mạngmạngTrong MS-DOS, Windows, MacOS và OS/2, Trong MS-DOS, Windows, MacOS và OS/2, sockets được cung cấp dưới dạng các thư viện sockets được cung cấp dưới dạng các thư viện lập trình.lập trình. 6 Các loại socketCác loại socketStream socket: TCP socketStream socket: TCP socketDatagram socket: UDP socketDatagram socket: UDP socketRaw socket: IP socketRaw socket: IP socket 7 TCP/IP (1)TCP/IP (1)TCP/IP là một bộ giao thức, được xây dựng dựa TCP/IP là một bộ giao thức, được xây dựng dựa trên kỹ thuật “phi kết nối”. Dữ liệu được truyền trên kỹ thuật “phi kết nối”. Dữ liệu được truyền theo từng dãy các gói tin đơn lẻ.theo từng dãy các gói tin đơn lẻ.TCP được sử dụng cho các dịch vụ với khả TCP được sử dụng cho các dịch vụ với khả năng truyền dữ liệu lớn và một kết nối liên tụcnăng truyền dữ liệu lớn và một kết nối liên tụcUDP thường được sử dụng cho các thao tác tìm UDP thường được sử dụng cho các thao tác tìm kiếm nhanh hay các truy vấn đơn lẻkiếm nhanh hay các truy vấn đơn lẻ 8 TCP/IP (2)TCP/IP (2)Thông thường, các ứng dụng TCP/IP sử dụng 4 Thông thường, các ứng dụng TCP/IP sử dụng 4 lớp:lớp:Một giao thức ứng dụng, chẳng hạn như email, ftp Một giao thức ứng dụng, chẳng hạn như email, ftp hay wwwhay wwwMột giao thức cung cấp các dịch vụ cần thiết cho Một giao thức cung cấp các dịch vụ cần thiết cho các ứng dụng, chẳng hạn như TCP/UDPcác ứng dụng, chẳng hạn như TCP/UDPIP cung cấp dịch vụ cơ bản chuyển giao các gói tin IP cung cấp dịch vụ cơ bản chuyển giao các gói tin đến đúng địa chỉ đíchđến đúng địa chỉ đíchCác giao thức cần thiết để quản lý phương tiện Các giao thức cần thiết để quản lý phương tiện truyền dẫn vật lý, chẳng hạn như Ethernet hay một truyền dẫn vật lý, chẳng hạn như Ethernet hay một đường nối điểm – điểmđường nối điểm – điểm 9 So sánh OSI với TCP/IPSo sánh OSI với TCP/IPNetworkHardware InterfaceHardware InterfaceIPIPTCPTCPUDPUDPUser ApplicationUser Application5-7. Application5-7. Application4. Transport4. Transport3. Network3. Network1-2. Data Link /1-2. Data Link / PhysicalPhysical 10 TCPTCPHướng kết nốiHướng kết nốiĐảm bảo độ tin cậy trong quá trình truyền dữ Đảm bảo độ tin cậy trong quá trình truyền dữ liệuliệuPhân đoạn dữ liệu truyền thành các gói tin đơn Phân đoạn dữ liệu truyền thành các gói tin đơn lẻlẻDữ liệu truyền được đánh số thứ tựDữ liệu truyền được đánh số thứ tựCung cấp cơ chế phản hồi sau khi nhận được Cung cấp cơ chế phản hồi sau khi nhận được dữ liệudữ liệuSử dụng cơ chế phát hiện lỗi checksumsSử dụng cơ chế phát hiện lỗi checksums [...]... viện sockets được cung cấp dưới dạng các thư viện lập trình. lập trình. 6 Các loại socket Các loại socket  Stream socket: TCP socket Stream socket: TCP socket  Datagram socket: UDP socket Datagram socket: UDP socket  Raw socket: IP socket Raw socket: IP socket 36 Lập trình: UDPServer (2) Lập trình: UDPServer (2) /* Gắn địa chỉ cho socket */ _locAddr.sin_family = AF_INET; _locAddr.sin_port... nghĩa một điểm kết nối trên socket, gồm có một địa chỉ IP và một số nối trên socket, gồm có một địa chỉ IP và một số hiệu cổng dịch vụ hiệu cổng dịch vụ 2 Nội dung Nội dung  Giới thiệu lập trình socket Giới thiệu lập trình socket  TCP/IP TCP/IP  Socket và TCP/IP Socket và TCP/IP  Lập trình Winsock Lập trình Winsock  Cấu trúc chương trình ứng dụng Cấu trúc chương trình ứng dụng  Sử dụng IDE:... được sử dụng để một tiến trình “nói 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. chuyện” với một tiến trình khác.  Nhiều ứng dụng thông dụng hiện nay sử dụng Nhiều ứng dụng thông dụng hiện nay sử dụng kỹ thuật socket như: trình duyệt web, email kỹ thuật socket như: trình duyệt web, email client, … client, … 31 Lập trình: UDPClient (1) Lập trình: UDPClient (1) void... 5 Socket API Socket API  Giao diện lập trình socket trên Windows, Giao diện lập trình socket trên Windows, winsock, là một đặc tả của nhiều hãng phần winsock, là một đặc tả của nhiều hãng phần mềm nhằm chuẩn hóa cách thức sử dụng mềm nhằm chuẩn hóa cách thức sử dụng TCP/IP trên Windows. Socket API dựa trên nền TCP/IP trên Windows. Socket API dựa trên nền Berkeley socket. Berkeley socket.  Trong... Process Client Process socket( ) socket( ) bind() bind() sendto() sendto() recvfrom() recvfrom() Client Process Client Process 1 1 2 2 3 3 socket( ) socket( ) bind() bind() recvfrom() recvfrom() sendto() sendto() Server Process Server Process get a blocked client get a blocked client process request process request Lập trình Winsock (1) Lập trình Winsock (1) 32 Lập trình: UDPClient (2) Lập trình: UDPClient... 35 Lập trình: UDPServer (1) Lập trình: UDPServer (1) void main() { /* Khai báo biến */ WSADATA wsaData; SOCKET sk; SOCKADDR_IN _locAddr, _frAddr; int iRc, adsize; char msg[512]; /* Nạp thư viện và khởi tạo socket */ iRc = WSAStartup(MAKEWORD(2, 2), &wsaData); sk = socket( AF_INET, SOCK_DGRAM, 0); 13 Sockets Sockets  Khi được tạo ra, một socket khơng có những Khi được tạo ra, một socket. .. một socket và gán cho socket một địa chỉ cố 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ụ định (IP và port) để cung cấp dịch vụ  Đặt socket ở chế độ passive Đặt socket ở chế độ passive  Chấp nhận yêu cầu thiết lập kết nối từ client và 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 nhận socket mới từ hệ thống  Thực hiện quá trình. .. độc lập được Một datagram là một thông điệp độc lập được gửi qua mạng không được đảm bảo đến đích, gửi qua mạng khơng được đảm bảo đến đích, thời điểm đến đích và nội dung thơng điệp thời điểm đến đích và nội dung thơng điệp 33 Lập trình: UDPClient (3) Lập trình: UDPClient (3) /* Đóng socket và giải phóng tài nguyên */ closesocket(sk); WSACleanup(); } // end of main function 1 LẬP TRÌNH LẬP... đoạn  Thiết lập kết nối: hai tiến trình truyền/nhận thiết lập Thiết lập kết nối: hai tiến trình truyền/nhận thiết lập kết nối và thống nhất các tham số định nghĩa kết nối kết nối và thống nhất các tham số định nghĩa kết nối  Truyền nhận dữ liệu: hai tiến trình truyền nhận dữ Truyền nhận dữ liệu: hai tiến trình truyền nhận dữ liệu dựa trên kết nối đã được thiết lập liệu dựa trên kết nối đã được thiết lập  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 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 trong truyền thơng trên mạng máy tính  Socket là một phương thức thực hiện truyền Socket là một phương thức thực hiện truyền thông giữa các tiến trình được BSD đề xuất. thơng giữa các tiến trình được BSD đề xuất.  Socket được . thiệu lập trình socketGiới thiệu lập trình socket TCP/IPTCP/IP Socket và TCP/IPSocket và TCP/IP Lập trình WinsockLập trình WinsockCấu trúc chương trình. viện lập trình .lập trình. 6 Các loại socketCác loại socket Stream socket: TCP socketStream socket: TCP socket Datagram socket: UDP socketDatagram socket:

Ngày đăng: 12/09/2012, 15:44

Từ khóa liên quan

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

Tài liệu liên quan