Thông tin tài liệu:
Socket là một trong những phương thức giao tiếp giữa các quá trình (inter-process communication) như pipe , message queue .... Trong các ứng dụng được viết ngày nay người ta sử dụng công cụ socket này rất nhiều như các Web , FTP .... Trong phần này chúng ta sẽ xem xét vấn đề trên môi trường Windows .Bây giờ chúng ta sẽ nói rõ hơn về socket . Giả sử ta muốn thiết kế một hệ thống trao đổi file . Hệ thống này hoạt động như sau : Tất cả dữ liệu được lưu trữ trên một...
Nội dung trích xuất từ tài liệu:
Hướng dẫn Lập trình socket L p trình socketM c ñích: làm th nào ñ xây d ng các ng d ng client/server truy n d li u qua socket socketSocket APIÌ ðưa ra trong BSD4.1 UNIX, 1981 Là giao di n (c a) do ngÌ Cho phép ng d ng t o ra và d ng t o ra trên máy s d ng socket tr m, qu n lý b i OS quaÌ Nguyên lý client/server ñó các ng d ng có th g iÌ Có hai d ng socket và nh n thông ñi p ñ n/t các ng d ng khác Truy n gói tin, không tin cy Truy n dòng bytes, tin c y 1 L p trình socket v iTCP Socket: c a giao ti p gi a các ti n trình và giao th c giao v n (UCP ho c TCP) D ch v TCP: truy n các bytes tin c y t m t ti n trình ñ n các ti n trình khác ði u khi n b i Ti n trìnhði u khi n b i Ti n trình L p trình viênL p trình viên socket socket TCP v i TCP v i ði u khi n b iði u khi n b i B ñ m, B ñ m, H ñi u hành internet H ñi u hành Các bi n Các bi n Máy tr m, Máy tr m, máy ch máy ch 2L p trình socket v i TCPClient ph i g i yêu c u t i server Ì khi ñư c client liên l c, server TCP t o socket m i ñ ti nÌ Ti n trình máy ch ph i ñang trình máy ch giao ti p v i ñư c th c hi n clientÌ máy ch ph i m socket cho phép nói chuy n v i (c ng) ñ nh n yêu c u t nhi u clients client phân bi t client b ng sClient yêu c u server b ng cách: hi u c ng (chương 3…)Ì T o m t socket TCP trên máyÌ Ch rõ IP address & port number c a ti n trình máy ch ð i v i ng d ngÌ Khi client t o socket: client TCP cung c p d ch v truy n dòng TCP t o liên k t t i server bytes tin c y và có th t TCP gi a client và server 3Tương tác gi a client/server qua socketTCP Server Client (máy hostid) t o socket, port=x, cho yêu c u t i: welcomeSocket = ServerSocket() T o liên k t t o socket, TCP ch yêu c u t i k t n i t i hostid, port=x clientSocket = connectionSocket = Socket() welcomeSocket.accept() g i yêu c u t nh n yêu c u t clientSocket connectionSocket tr l i t i connectionSocket ñ c tr l i t i clientSocket ñóng socket ñóng connectionSocket clientSocket 4 Stream keyboard monitorÌ stream m t chu i ký t vào/ra m t ti n trình. inFromUser inputÌ input stream ñư c g n v i stream m t ngu n vào, e.g. bàn Client Process phím, socket processÌ output stream ñư c g n v i m t ngu n ra, e.g., màn hình socket. inFromServer outToServer output input stream stream client TCP clientSocket socket TCP socket to network from network 5L p trình socket v i TCPVí d v ng d ng client-server:1) client ñ c các dòng văn b n do ngư i dùng gõ t bàn phím (inFromUser stream) , g i t i server qua socket (outToServer stream)2) server ñ c các dòng g i t socket3) server chuy n sang ch hoa và g i tr l i cho client4) client ñ c và in l i dòng văn b n nh n ñư c t socket (inFromServer stream) 6Ví d : Java client (TCP) import java.io.*; import java.net.*; class TCPClient { public static void main(String argv[]) throws Exception ...