kuzak.yeuem

New Member
Link tải luận văn miễn phí cho ae Kết Nối
Báo cáo chuyên đề Java Đề tài: Truy cập CSDL từ xa qua Socket Giáo viên hướng dẫn: Th.s Phùng Anh Tuấn Nhóm sinh viên thực hiện: Vũ Việt Vĩnh Nguyễn Minh Long Nguyễn Thị Ngọc Đoàn Thanh Tú Trường ĐHDL Hải Phòng Khoa CNTT NỘI DUNG BÁO CÁO Demo – Giao diện chương trình Hỗ trợ lập trình Socket trong Java Nguyên lý hoạt động Khái niệm Socket Lịch sử hình thành I- Lịch sử hình thành Khái niệm Socket xuất hiện lần đầu tiên vào khoảng năm 1980 tại trường đại học Berkeley Mỹ. Là một chương trình được thiết kế để giúp máy tính nối mạng ở khắp mọi nơi có thể trao đổi thông tin với nhau. Sự ra đời của Socket gắn liền với nhu cầu truyền thông của máy tính. II- Khái niệm Socket Socket là một giao diện lập trình ứng dụng (API-Application Programming Interface). Nó được giới thiệu lần đầu tiên trong ấn bản UNIX – BSD 4.2 dưới dạng các hàm hệ thống theo cú pháp ngôn ngữ C (socket(), bind(), connect(), send(), receive(), read(), write(), close(), …). Ngày nay, socket được hỗ trợ hầu hết trong các hệ điều hành như MS Window, Linux và được sử dụng trong nhiều ngôn ngữ lập trình khác nhau như: C, C++, Java, Visual Basic, Visual C++ … III- Nguyên lý hoạt động Socket cho phép thiết lập các kênh giao tiếp mà hai đầu kênh được đánh dấu bởi hai cổng (port). Thông qua các cổng này một quá trình có thể nhận và gửi dữ liệu với các quá trình khác. III- Nguyên lý hoạt động Khái quát quá trình trao đổi dữ liệu qua socket trong mô hình Client/Server như sau: Chương trình phía Server tạo ra một socket, socket này được gắn với một cổng (ứng dụng) trên Server. Socket Server sẽ chờ nghe yêu cầu từ phía Client. Khi chương trình phía Client cần kết nối với một Server, nó cũng tạo ra một socket được hệ điều hành gắn với một cổng. Chương trình Client sẽ cung cấp cho socket của nó (Socket Client) địa chỉ mạng. Chương trình phía Server và chương trình phía Client trao đổi dữ liệu với nhau bằng cách đọc từ socket hay ghi vào socket của mình. III- Nguyên lý hoạt động Để có thể thực hiện các cuộc giao tiếp, một trong hai quá trình phải công bố số hiệu cổng của socket mà mình sử dụng. Mỗi cổng giao tiếp thể hiện một địa chỉ xác định trong hệ thống. Ngoài số hiệu cổng, hai bên giao tiếp còn phải biết địa chỉ IP của nhau. Địa chỉ IP giúp phân biệt máy tính này với máy tính kia trên mạng TCP – IP. Trong khi số hiệu cổng dùng để phân biệt các quá trình khác nhau trên cùng một máy tính. IV- Hỗ trợ lập trình Socket trong Java Java là một ngôn ngữ lập trình mạng với rất nhiều chức năng mạnh. Java hỗ trợ hầu hết các giao thức mạng như UDP, FPT, HTTP, TCP/IP, … Gói java.net là gói chứa tất cả các lớp hỗ trợ cho lập trình mạng. Dưới đây là cấu trúc của gói java.net: IV- Hỗ trợ lập trình Socket trong Java Một số lớp tiêu biểu được dùng cho lập trình Client-Server sử dụng socket làm phương tiện giao tiếp như: • InetAddress: • Socket: • ServerSocket: • DatagramSocket: • DatagramPacket: IV-1.Lớp java.net.Socket Lớp Socket hỗ trợ các cách cần thiết để xây dựng các chương trình client sử dụng Socket ở chế độ có nối kết. Dưới đây là một số cách thường dùng để xây dựng Client: - public Socket(String HostName, int PortNumber) throws IOException + cách này dùng để nối kết đến một server có tên là HostName, cổng là PortNumber. • HostName: Địa chỉ IP hay tên logic theo dạng tên miền. • PortNumber: có giá trị từ 0 ..65535 IV-1.Lớp java.net.Socket - public InputStream getInputStream() cách này trả về InputStream nối với Socket. Chương trình Client dùng InputStream này để nhận dữ liệu từ Server gởi về. - public OutputStream getOutputStream() cách này trả về OutputStream nối với Socket. Chương trình Client dùng OutputStream này để gởi dữ liệu cho Server. - public close() cách này sẽ đóng Socket lại, giải phóng kênh ảo, xóa nối kết giữa Client và Server. IV-2.Lớp java.net.ServerSocket Lớp ServerSocket hỗ trợ các cách cần thiết để xây dụng các chương trình Server sử dụng socket ở chế độ có nối kết. Dưới đây là một số cách thường dùng để xây dựng Server: - public ServerSocket(int PortNumber); cách này tạo một Socket với số hiệu cổng là PortNumber mà sau đó Server sẽ lắng nghe trên cổng này. VD: Tạo socket cho Server với số hiệu cổng là 7: ServerSocket ss = new ServerSocket(7); IV-2.Lớp java.net.ServerSocket - public Socket accept() cách này lắng nghe yêu cầu nối kết của các Client. Đây là một cách hoạt động ở chế độ nghẽn. Nó sẽ bị nghẽn cho đến khi có một yêu cầu nối kết của client gởi đến. Khi có yêu cầu nối kết của Client gởi đến, nó sẽ chấp nhận yêu cầu nối kết, trả về một Socket là một đầu của kênh giao tiếp ảo giữa Server và Client yêu cầu nối kết. VD: Socket ss chờ nhận yêu cầu nối kết: Socket s = ss.accept(); IV-2.Lớp java.net.ServerSocket getInputStream( ) cách nhận dữ liệu do Client gửi thông qua socket. getOutputStream( ) cách gửi dữ liệu vào socket để gửi cho Client. IV-3. Lớp DatagramPacket Lớp này dùng để đóng gói dữ liệu gởi đi. Dưới đây là các cách thường sử dụng để thao tác trên dữ liệu truyền / nhận qua DatagramSocket. - public DatagramPacket(byte[] b, int n) • Là cách khởi tạo, cho phép tạo ra một DatagramPacket chứa n bytes dữ liệu đầu tiên của mảng b. (n phải nhỏ hơn chiều dài của mảng b) • cách trả về một đối tượng thuộc lớp DatagramePacket VD: Tạo DatagramPacket để nhận dữ liệu: byte buff[] = new byte[60000]; // Nơi chứa dữ liệu nhận được DatagramPacket inPacket = new Datagrampacket(buff, buff.lenth); IV-3. Lớp DatagramPacket - public DatagramPacket(byte[] b, int n, InternetAddress ia, int port) • cách này cho phép tạo một DatagramPacket chứa dữ liệu và cả địa chỉ của máy nhận dữ liệu. • cách trả về một đối tượng thuộc lớp DatagramePacket IV-3. Lớp DatagramPacket Các cách lấy thông tin trên một DatagramPacket nhận được Khi nhận được một DatagramPacket từ một quá trình khác gởi đến, ta có thể lấy thông tin trên DatagramPacket này bằng các cách sau: • public synchronized() InternetAddress getAddress() : Địa chỉ máy gởi • public synchronized() int getPort() : Cổng của quá trình gởi • public synchronized() byte[] getData() : Dữ liệu từ gói tin • public synchronized() int getLength() : Chiều dài của dữ liệu trong gói tin IV-3. Lớp DatagramPacket Các cách đặt thông tin cho gói tin gởi Trước khi gởi một DatagramPacket đi, ta có thể đặt thông tin trên DatagramPacket này bằng các cách sau: • public synchronized() void setAddress(IntermetAddress dis) : Đặt địa chỉ máy nhận. • public synchronized() void setPort(int port) : Đặt cổng quá trình nhận • public synchronized() void setData(byte buffer[]) : Đặt dữ liệu gởi • public synchronized() void setLength(int len) : Đặt chiều dài dữ liệu gởi IV-4.Lớp DatagramSocket Lớp này hỗ trợ các cách sau để gởi / nhận các DatagramPacket - public DatagramSocket() throws SocketException Tạo Socket kiểu không nối kết cho Client. Hệ thống tự động gán số hiệu cổng chưa sử dụng cho socket. VD: Tạo một socket không nối kết cho Client: try{ DatagramSocket ds = new DatagramSocket(); } catch(SocketException se) { System.out.print(“Create DatagramSocket Error: “+se); } IV-4.Lớp DatagramSocket public DatagramSocket(...

Link Download bản DOC
Do Drive thay đổi chính sách, nên một số link cũ yêu cầu duyệt download. các bạn chỉ cần làm theo hướng dẫn.
Password giải nén nếu cần: ket-noi.com | Bấm trực tiếp vào Link để tải:

 
Last edited by a moderator:

hdangbao01

New Member
Gửi cho mình link Download Đề tài Truy cập cơ sở dữ liệu từ xa qua Socket được không ạ.
 

Các chủ đề có liên quan khác

Top