Lập trình mạng P4
lượt xem 79
download
Socket trong java Java hỗ trợ lập trình mạng thông qua các lớp trong gói java.net. Một số gói tiêu biểu InetAddress: Quản lý địa chỉ internet bao gồm địa chỉ IP và tên máy Socket: hỗ trợ phương thức liên quan tới socket cho chương trình client ở chế độ có kết nối ServerSocket: hỗ trợ phương thức liên quan tới socket cho chương trình Server ở chế độ có kết nối DatagramSocket: hỗ trợ các phương thức liên quan tới socket ở cả client và server ở chế độ không kết nối DatagramPacket: cài đặt gói tin dạng thư...
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Lập trình mạng P4
- Chương 4: Lập trình mạng trong Java
- Chương 3 1. Socket trong java Java hỗ trợ lập trình mạng thông qua các lớp trong gói java.net. Một số gói tiêu biểu - InetAddress: Quản lý địa chỉ internet bao gồm địa chỉ IP và tên máy - Socket: hỗ trợ phương thức liên quan tới socket cho chương trình client ở chế độ có kết nối - ServerSocket: hỗ trợ phương thức liên quan tới socket cho chương trình Server ở chế độ có kết nối - DatagramSocket: hỗ trợ các phương thức liên quan tới socket ở cả client và server ở chế độ không kết nối - DatagramPacket: cài đặt gói tin dạng thư tín người dùng trong giao tiếp client server ở chế độ không kết nối - URL - URLConnection
- Chương 3 1. Socket trong java Lớp InetAddress Class mô tả về địa chỉ IP (Internet Protocol) – Các phương thức getLocalHost, getByName, hay getAllByName để tạo một InetAddress instance: • public static InetAddess InetAddress.getByName(String hostname) • public static InetAddess [] InetAddress.getAllByName(String hostname) • public static InetAddess InetAddress.getLocalHost() – Để lấy địa chỉ IP hay tên dùng các phương thức: • getHostAddress() • getHostName()
- Chương 3 1. Socket trong java Lớp InetAddress Ví dụ: In địa chỉ IP của localhost import java.net.*; public class HostInfo { public static void main(String args[]) { HostInfo host = new HostInfo(); host.init(); } public void init() { try { InetAddress myHost = InetAddress.getLocalHost(); System.out.println(myHost.getHostAddress()); System.out.println(myHost.getHostName()); } catch (UnknownHostException ex) { System.err.println("Cannot find local host"); } } }
- Chương 3 1. Socket trong java Lớp InetAddress Ví dụ: In địa chỉ IP của yahoo.com import java.net.*; class indiachi{ public static void main (String args[]) { try { InetAddress[] addresses = InetAddress.getAllByName(“yahoo.com"); for (int i = 0; i < addresses.length; i++) { System.out.println(addresses[i]); } } catch (UnknownHostException e) { System.out.println("Could not find yahoo.com"); } } }
- Chương 3 1. Socket trong java Lớp Socket Class mô tả về socket – Tạo một socket • Socket(InetAddress address, int port) • Socket(String host, int port) • Socket(InetAddress address, int port, InetAddress, localAddr, int localPort) • Socket(String host, int port, InetAddress, localAddr, int localPort) • Socket() – Lấy thông tin về một socket • InetAddress getInetAddress() : trả về địa chỉ mà socket kết nối đến. • int getPort() : trả về port mà socket kết nối đến. • InetAddress getLocalAddress() : trả về địa chỉ cục bộ. • int getLocalPort() : trả về port cục bộ.
- Chương 3 1. Socket trong java Lớp Socket - Sử dụng Streams • public OutputStream getOutputStream() throws IOException Trả về một output stream cho việc viết các byte đến socket này. • public InputStream getInputStream() throws IOException Trả về một input stream cho việc đọc các byte từ socket này.
- Chương 3 1. Socket trong java Lớp Socket, ví dụ kết nối tới một server import java.net.*; import java.io.*; public class getSocketInfo { public static void main(String[] args) { for (int i = 0; i < args.length; i++) { try { Socket theSocket = new Socket(args[i], 80); System.out.println("Connected to " + theSocket.getInetAddress() + " on port " + theSocket.getPort() + " from port " + theSocket.getLocalPort() + " of " + theSocket.getLocalAddress()); } catch (UnknownHostException e) { System.err.println("I can't find " + args[i]); } catch (SocketException e) { System.err.println("Could not connect to " + args[i]); } catch (IOException e) { System.err.println(e); } } // end for } // end main } // end getSocketInfo
- Chương 3 1. Socket trong java Lớp ServerSocket – Class mô tả về ServerSocket – Tạo một ServerSocket • ServerSocket(int port) throws IOException • ServerSocket(int port, int backlog) throws IOException • ServerSocket(int port, int backlog, InetAddress bindAddr) throws IOException – Các phương thức trong ServerSocket • Socket accept() throws IOException : Lắng nghe một kết nối đến socket này và chấp nhận nó. • void close() throws IOException : Đóng socket. • InetAddress getInetAddress() : trả về địa chỉ cục bộ của socket • int getLocalPort() : Trả về port mà server đang lắng nghe. • void setSoTimeout(int timeout) throws SocketException
- Chương 3 1. Socket trong java Lập trình Socket với UDP Cung cấp cơ chế truyền không tin cậy giữa các nhóm các byte (datagrams) giữa client và server. Không cần thiết lập kết nối giữa client và server. Sender phải gởi kèm địa chỉ IP và port đích Server khi nhận dữ liệu sẽ phân tích địa chỉ của sender để truyền lại. Có thể server chấp nhận nhiều client tại một thời điểm.
- Chương 3 1. Socket trong java Ví dụ lập trình Socket với UDP Server (running on hostid) Client create socket, create socket, port=x, for clientSocket = incoming request: DatagramSocket() serverSocket = DatagramSocket() Create, address (hostid, port=x, send datagram request using clientSocket read request from serverSocket write reply to serverSocket specifying client read reply from host address, clientSocket port umber close clientSocket
- Chương 3 1. Socket trong java Ví dụ lập trình Socket với UDP UDPClient.java import java.io.*; import java.net.*; class UDPClient { public static void main(String args[]) throws Exception { BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in)); DatagramSocket clientSocket = new DatagramSocket(); InetAddress IPAddress = InetAddress.getByName("hostname"); byte[] sendData = new byte[1024]; byte[] receiveData = new byte[1024]; String sentence = inFromUser.readLine(); sendData = sentence.getBytes();
- Chương 3 1. Socket trong java Ví dụ lập trình Socket với UDP UDPClient.java DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, 9876); clientSocket.send(sendPacket); DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length); clientSocket.receive(receivePacket); String modifiedSentence = new String(receivePacket.getData()); System.out.println("FROM SERVER:" + modifiedSentence); clientSocket.close(); }
- Chương 3 1. Socket trong java Ví dụ lập trình Socket với UDP UDPServer.java import java.io.*; import java.net.*; class UDPServer { public static void main(String args[]) throws Exception { DatagramSocket serverSocket = new DatagramSocket(9876); byte[] receiveData = new byte[1024]; byte[] sendData = new byte[1024]; while(true) { DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length); serverSocket.receive(receivePacket); String sentence = new String(receivePacket.getData());
- Chương 3 1. Socket trong java Ví dụ lập trình Socket với UDP UDPServer.java InetAddress IPAddress = receivePacket.getAddress(); int port = receivePacket.getPort(); String capitalizedSentence = sentence.toUpperCase(); sendData = capitalizedSentence.getBytes(); DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, IPAddress, port); serverSocket.send(sendPacket); } } }
- Chương 3 1. Socket trong java Lập trình Socket với TCP Server – Server process phải chạy trước. – Server phải tạo một socket để lắng nghe và chấp nhận các kết nối từ client. Client – Khởi tạo TCP socket. – Xác định IP address, port number của server. – Thiết lập kết nối đến server. Khi server nhận yêu cầu kết nối, nó sẽ chấp nhận yêu cầu và khởi tạo socket mới để giao tiếp với client. – Có thể server chấp nhận nhiều client tại một thời điểm.
- Chương 3 1. Socket trong java Ví dụ lập trình Socket với TCP Server (running on hostid) Client create socket, port=x, for incoming request: welcomeSocket = ServerSocket() TCP create socket, wait for incoming connection request connection setup connect to hostid, port=x connectionSocket = clientSocket = welcomeSocket.accept() Socket() send request using read request from clientSocket connectionSocket write reply to connectionSocket read reply from clientSocket close connectionSocket close clientSocket
- Chương 3 1. Socket trong java Ví dụ lập trình Socket với TCP TCPClient.java import java.io.*; import java.net.*; class TCPClient { public static void main(String argv[]) throws Exception { String sentence; String modifiedSentence; BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in)); Socket clientSocket = new Socket("hostname", 6789); DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream());
- Chương 3 1. Socket trong java Ví dụ lập trình Socket với TCP TCPClient.java BufferedReader inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())); sentence = inFromUser.readLine(); outToServer.writeBytes(sentence + '\n'); modifiedSentence = inFromServer.readLine(); System.out.println("FROM SERVER: " + modifiedSentence); clientSocket.close(); } }
- Chương 3 1. Socket trong java Ví dụ lập trình Socket với TCP TCPServer.java import java.io.*; import java.net.*; class TCPServer { public static void main(String argv[]) throws Exception { String clientSentence; String capitalizedSentence; ServerSocket welcomeSocket = new ServerSocket(6789); while(true) { Socket connectionSocket = welcomeSocket.accept(); BufferedReader inFromClient = new BufferedReader(new InputStreamReader(connectionSocket.getInputStream()));
CÓ THỂ BẠN MUỐN DOWNLOAD
-
HỆ MỜ & NƠRON TRONG KỸ THUẬT ĐIỀU KHIỂN - TS. NGUYỄN NHƯ HIỀN & TS. LẠI KHẮC LÃI - 6
19 p | 102 | 25
-
Bài giảng xây dựng cầu 2 P4
12 p | 86 | 24
-
Giáo trình phân tích công tác định vị công trình dẫn tim cốt công trình trong lắp đặt ván khuôn p4
6 p | 95 | 21
-
Giáo trình phân tích quy trình tự động hóa với Autocad 3d cho thiết kế công trình giao thông p4
5 p | 99 | 18
-
Giáo trình phân tích khả năng vận dụng công nghệ gia tốc trong thiết kế mạch điều khiển p4
9 p | 111 | 11
-
Giáo trình phân tích khả năng định vị công trình dẫn tim cốt trong lắp đặt ván khuôn p4
6 p | 64 | 11
-
Quá trình ứng dụng vi mạch lập trình số trong bộ chuyển mạch BSC p4
10 p | 89 | 11
-
Giáo trình phân tích nguyên lý ứng dụng định vị công trình dẫn tim cốt trong lắp đặt ván khuôn p4
6 p | 95 | 9
-
Giáo trình phân tích khả năng vận hành các trạm lặp kế hoạch hai tần số cho kênh RF song công p4
12 p | 78 | 9
-
Giáo trình phân tích khả năng ứng dụng lập trình dòng nhiệt riêng do làm bay hơi nước châm p4
5 p | 56 | 6
-
Quá trình hình thành giáo trình hướng dẫn cân kính trong nền công nghiệp vật chất p4
9 p | 56 | 6
-
Giáo trình hướng dẫn ứng dụng lập trình dòng nhiệt riêng do làm lạnh nước châm p4
5 p | 60 | 5
-
Giáo trình phân tích khả năng ứng dụng phương thức gán đối tượng cho một giao diện đối lập p4
5 p | 84 | 5
-
Giáo trình hình thành quy trình điều khiển định vị công trình dẫn tim cốt trong lắp đặt ván khuôn p4
6 p | 63 | 5
-
Giáo trình phân tích các trạm lặp kế hoạch hai tần số cho kênh RF song công p4
12 p | 74 | 4
-
Giáo trình phân tích ứng dụng nguyên lý thuật toán hiệu chỉnh trong đường chạy lập trình p4
5 p | 60 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn