1. Trang chủ
  2. » Công Nghệ Thông Tin

tài liệu lập trình mạng java

59 71 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 59
Dung lượng 380,67 KB

Nội dung

tài liệu lập trình mạng java mới nhất 2020 cho mọi người

Lý Thuyết Chương 1 UDP + Dịch vụ không kết nối + Không cung cấp: thiết lập kết nối, tin cậy, điều khiển dòng, thời gian, … ? Tại sử dụng UDP? UDP sử dụng tốc độ ưu tiên sửa lỗi không cần thiết Ví dụ: UDP thường sử dụng cho phát sóng trực tuyến trị chơi trực tuyến Ví dụ: giả sử bạn xem luồng video trực tiếp, thường phát UDP thay TCP Máy chủ gửi luồng UDP liên tục tới máy tính xem - Done • – – • – – • – – Nhược điểm Các thơng điệp nhận theo thứ tự Khơng có đảm bảo gói tin đến đích Ưu điểm: UDP giao thức có tốc độ truyền tin nhanh Truyền tin unicast, broadcast multicast Kiểu truyền Một thông điệp unicast gửi từ nút tới nút khác Truyền tin broadcast nghĩa thông điệp gửi tới tất nút mạng – Multicast cho phép thông điệp truyền tới nhóm nút lựa chọn - Số hiệu cổng TCP/UDP + Có loại (netstat –a) o số hiệu cổng hệ thống (0-1023) Các giao thức tiếng có số hiệu cổng nằm khoảng o Các số hiệu cổng người dùng (1024-49151) Các ứng dụng server bạn nhận số làm cổng, bạn đăng ký số hiệu cổng với IANA o Các số hiệu cổng riêng động DNS (Domain Name System) - Chức o Ánh xạ (tên miền, dịch vụ) sang giá trị, ví dụ,,  (www.cs.yale.edu, Addr) -> 128.36.229.30  (cs.yale.edu, Email) -> netra.cs.yale.edu  (netra.cs.yale.edu, Addr) -> 128.36.229.21 ? Tại phải dùng tên thay cho địa IP? Một chuỗi số khó để nhớ Và tên miền phát minh để giải vấn đề Khi bạn muốn truy cập website bất kỳ, bạn không cần phải nhập vào URL chuỗi số dài theo kiểu “123.30.174.6”; thay vào đó, bạn truy cập cách nhập tên miền dễ nhớ vào địa trình duyệt chẳng hạn “bkns.vn”, “vi.wikipedia.org”,… Nói cách đơn giản, trang web bạn ngơi nhà tên miền bạn địa ngơi nhà Nhưng thay sử dụng chuỗi số khó nhớ địa đặt tên để dễ nhớ - Done - Lược đồ tên miền (IANA) + Nslookup (Domain/IP) + Ipconfig (DNS) - Quản lý tên miền + A distributed database managed by authoritative name servers o Mỗi nhóm tên (Zone) có server chứng thực tên o Mỗi Zone ủy quyền chứng thực tập tên miền Nhóm Zone gốc Server - 13 servers quản lý zone gốc toàn cầu - Liên kết Server DNS + Mỗi server biết địa server gốc + Mỗi server gốc biết địa địa node trực tiếp Tên miền cao cấp -> com DNS servers Chương 2: Client server Tầng ứng dụng - Các khía cạnh khái niệm cài đặt giao thức tầng ứng dụng + Mơ hình client-server + Biết số giao thức thông dụng tầng mạng  smtp/pop3  http  ftp  dns Tìm hiểu giao thức tầng ứng dụng HTTP, FTP, SMTP, POP3,IMAP - Giao Thức FTP FTP( File Transfer Protocol ) giao thức truyền tin ,thường dùng để trao đổi tập tin qua mạng lưới truyền thông nằm tầng ứng dụng giao thức TCP/IP FTP hoạt động cần có hai máy tính , máy chủ gọi FTP server máy FTP Client FTP Server dùng để chạy phần mềm cung cấp dịch vụ FTP lắng nghe yêu cầu dịch vụ máy tính khác mạng windows server Và FTP Client máy khách chạy phần mềm FTP dành cho người dùng dịch vụ để kết nối đến FTP Server Khi hai máy kết nối với , FTP Client xử lý số thao tác tập tin , tải tập tin lên FTP Server , tải tập tin từ FTP Server xuống máy mình, đổi tên tập tin, xóa tập tin FTP Server FTP Client kết nối với FTP Server thông qua cổng mặc định 21 TCP - Giao thức HTTP HTTP (Hypertext Transfer Protocol) giao thức truyền tải siêu văn Đây giao thức tiêu chuẩn cho World Wide Web (www) để truyền tải liệu dạng văn bản, âm thanh, hình ảnh, video từ Web Server tới trình duyệt web người dùng ngược lại HTTP giao thức ứng dụng giao thức TCP/IP (các giao thức tảng cho Internet) Bộ giao thức TCP/IP giao thức truyền thông cài đặt chồng giao thức mà Internet hầu hết mạng máy tính thương mại chạy Bộ giao thức đặt theo tên hai giao thức TCP (Transmission Control Protocol – Giao thức điều khiển truyền vận) IP (Internet Protocol – Giao thức Internet) HTTP hoạt động theo mơ hình Client (máy khách) – Server (máy chủ) Việc truy cập website tiến hành dựa giao tiếp đối tượng Khi bạn truy cập trang web qua giao thức HTTP, trình duyệt thực phiên kết nối đến server trang web thơng qua địa IP hệ thống phân giải tên miền DNS cung cấp Máy chủ sau nhận lệnh, trả lệnh tương ứng giúp hiển thị website, bao gồm nội dung như: văn bản, ảnh, video, âm thanh, … Trong trình kết nối trao đổi thơng tin, trình duyệt bạn thừa nhận địa IP đến từ server website mà bạn muốn truy cập mà khơng có biện pháp xác thực Các thông tin gửi qua giao thức HTTP (bao gồm địa IP, thông tin mà bạn nhập vào website…) khơng mã hóa bảo mật Đây kẽ hở mà nhiều hacker lợi dụng để đánh cắp thông tin người dùng, thường gọi công sniffing - Giao thức POP3 POP3 (Post Office Protocol version 3) sử dụng để kết nối tới server email tải email xuống máy tính cá nhân thơng qua ứng dụng email Outlook, Thunderbird, Windows Mail, Mac Mail, … Thông thường, email client có tùy chọn bạn có muốn giữ mail server sau tải hay không Nếu bạn truy cập tài khoản nhiều thiết, khuyên nên chọn giữ lại copy server không thiết bị thứ tải mail bị xóa sau tải thiết bị Cũng đáng để lưu ý POP3 giao thức chiều, có nghĩa email “kéo” từ email server xuống email client Cơ chế hoạt động POP: Kết nối đến server Nhận toàn mail Lưu cục mail Xóa mail server Ngắt kết nối với server - Giao thức IMAP IMAP (Internet Message Access Protocol), POP3 dùng để kéo emails emails client, nhiên khác biệt với POP3 kéo email headers về, nội dung email server Đây kênh liên lạc chiều, thay đổi mail client chuyển lên server Sau này, giao thức trở nên phổ biến nhờ nhà cung cấp mail lớn giới, Gmail, khuyên dùng thay POP3 Cơ chế hoạt động IMAP: Kết nối đến server Lấy nội dung yêu cầu từ người dùng lưu đệm cục (chẳng hạn danh sách mail mới, tổng kết tin nhắn hay nội dung email chọn lựa kỹ càng) Xử lý biên tập từ người dùng, ví dụ đánh dấu email mail để đọc hay xóa… Ngắt kết nối với server - Giao thức SMTP SMTP (Simple Mail Transfer Protocol) giao thức chuẩn TCP/IP dùng để truyền tải thư điện tử (e-mail) mạng internet Nó thiết lập kênh kết nối mail client mail server, thiết lập kênh liên lạc mail server gửi mail server nhận Email đẩy từ mail client lên mail server từ mail server server gửi đến mail server nhận Hoạt động SMTP Sau kết nối người gửi (trình khách) người nhận (trình chủ) thiết lập, việc làm sau việc hoàn toàn hợp lệ, phiên giao dịch dùng giao thức SMTP Những trình khách đại thường dùng câu lệnh "SIZE" (cỡ) - từ chìa khóa (keyword) - SMTP mở rộng để điều tra cỡ lớn tối đa thông điệp mà trình chủ chấp nhận Những trình khách trình chủ cũ trước thường cho truyền tải ạt lượng thông điệp thật lớn qua cho nhau, để chúng lại bị từ chối sau đến đích, phung phí tài nguyên mạng lưới cách vô ý thức Đấy chưa kể thời gian kết nối tốn vào ISP ( Internet Service Provider - Nhà cung cấp dịch vụ Internet) quay số, mà người dùng phải trả giá phút đồng hồ Khi có dự định hiệu chỉnh tập tin khổng lồ, dự định gửi tập tin trình khách cũ, người dùng xác định độ lớn tối đa thơng điệp mà trình chủ ESMTP cho phép chấp nhận, trước gửi thông điệp Ứng dụng mạng giao thức tầng mạng - Các ứng dụng mạng + Các chương trình chạy host cung cấp giao diện cho người dùng  web: browser  audio/video: media player + Sử dụng giao thức tầng ứng dụng để giao tiếp + Ví dụ: email, Web - Các giao thức tầng ứng dụng + Mẫu thông tin + Định nghĩa cách thức giao tiếp ứng dụng + Thực dịch vụ với yêu cầu giao thức cách sử dụng dịch vụ tầng thấp ? Sử dụng dịch vụ tầng mạng, vận chuyển nào? • • Cung cấp giao diện lập trình - API Định nghĩa giao diện tầng ứng dụng tầng mạng Ví dụ: Socket API – Còn gọi "Berkeley sockets“ – Một socket bao gồm địa IP số hiệu cổng • Ví dụ: email (SMTP) cổng 25, web (HTTP) cổng 80 • - – Một ứng dụng gắn với socket • netstat –a – Hai chương trình giao tiếp với cách gởi liệu tới socket, đọc liệu từ Một số API khác XTI (X/Open Transport Interface), (TLI) phát triển AT&T – Done Một ứng dụng cần chọn giao thức vận chuyển phù hợp Ứng dụng Giao thức tầng ứng dụng e-mail smtp [RFC 821] remote terminal access telnet [RFC 854] Web http [RFC 2068] file transfer ftp [RFC 959] Internet telephony proprietary remote file server (ví dụ, Vocaltec) streaming multimedia NFS Mơ hình Client-Server Giao thức tầng vận chuyển bên TCP/SSL TCP TCP/SSL TCP UDP TCP UDP UDP Có loại ứng dụng mạng: Client and server - - Client (C): + Thiết lập kết nối với server (“nói trước”) + Yêu cầu dịch vụ server + Ví dụ Web, client trình duyệt web, e-mail, mail reader (MS Outlook) Server (S): + Cung cấp dịch vụ yêu cầu cho client + Ví dụ, Web server gởi trang Web yêu cầu; mail server đáp trả e-mail ? Làm client định vị Server? ? Ứng dụng có mạnh, mở rộng khơng? - E-mail + Gồm thành phần: • User agents • Mail servers • Các giao thức – Gởi mail mail server • SMTP – Lấy mail mail server and user agent • POP3: Post Office Protocol [RFC 1939] • IMAP: Internet Mail Access Protocol [RFC 1730] Web • Trang web: – Gồm đối tượng – Chỉ định URL – Dựa vào trang HTML – Và số tham chiếu đối tượng URL có hai thành phần: tên miền, số hiệu cổng đường dẫn • - • User agent cho web trình duyệt web (browser), e.g – Mozilla Firefox – MS Internet Explorer  Server cho web gọi Web server: – Apache – MS Internet Information Server Giao thức Web-HTTP HTTP: hypertext transfer protocol • • – – • • HTTP sử dụng TCP dịch vụ vận chuyển Mơ hình client/server client: trình duyệt web trình bày đối tượng Web server: Web server gởi đối tượng web cho client http1.0: RFC 1945 http1.1: RFC 2068 - Luồng xử lý thông điệp HTTP 1.0  Client thiết lập kết nối TCP (tạo socket) tới server, cổng 80  Server đợi yêu cầu từ client  Client gởi yều tài liệu  Web server gởi trả lại tài liệu tương ứng  Đóng kết nối TCP  Client phân tích tài liệu nhúng đối tượng vào (images) o Lặp lại cho đối tượng khác FTP: File Transfer Protocol • Vận chuyển tập tin tới host • Mơ hình Client/server – client: phía thiết lập việc vận chuyển tập tin – server: host xa • ftp: RFC 959 • ftp server: port 21 (smtp 25, http 80) FTP: Ứng dụng Client-Server sử dụng tách biệt kết nối điều khiển kết nối liệu • ftp client gởi lệnh tới ftp server cổng 21 • Mở hai kết nối song song – Điều khiển: trao đổi lệnh, đáp trả client server – Dữ liệu: liệu tập tin tới/từ server • ftp server trì trạng thái kết nối, ví dụ, – Thư mục hành, – Chứng thực trước 2.Mơ hình OSI TCP/IP - TCP/IP TCP/IP viết tắt Transmission Control Protocol (TCP) Internet Protocol (IP) giao thức cài đặt truyền thông, chồng giao thức mà hầu hết mạng máy tính ngày sử dụng để kết nối TCP/IP đặt theo tên giao thức giao thức điều khiển giao vận giao thức liên mạng Đây giao thức giới định nghĩa TCP/IP phát triển vào năm 1978 Bob Kahn Vint Cerf Hoạt động TCP/IP: Trong giao thức TCP/IP, IP có vai trị quan trọng IP cho phép máy tính chuyển tiếp gói tin tới máy tính khác Thơng qua nhiều khoảng (chuyển tiếp) gần với người nhận gói tin TCP giúp kiểm tra gói liệu xem có lỗi khơng? Sau gửi u cầu truyền lại có lỗi tìm thấy Như vậy, quy cách hoạt động TCP/IP thật đơn giản Bạn hình dung việc truyền tin Internet tựa dây chuyền sản xuất Các công nhân chuyền bán thành phẩm qua giai đoạn khác để bổ sung hoàn thiện sản phẩm Khi đó, IP giống quy cách hoạt động nhà máy, cịn TCP lại đóng vai trò người giám sát dây chuyền, đảm bảo cho dây chuyền liên tục có lỗi xảy Hiện nay, TCP/IP có giao thức sử dụng phổ biến HTTP, HTTPS, FTP HTTP: HTTP sử dụng để truyền liệu khơng an tồn web client web server Theo quy trình, web client (trình duyệt Internet máy tính) gửi yêu cầu đến web server để xem website Sau đó, máy chủ web nhận u cầu gửi thơng tin website cho web client HTTPS: HTTPS sử dụng để truyền liệu an toàn web client web server Giao thức dùng để gửi liệu giao dịch thẻ tín dụng liệu cá nhân khác từ web tới web server FTP: FTP phương thức trao đổi file sử dụng hai nhiều máy tính thơng qua Internet Nhờ FTP, máy tính gửi nhận liệu đến trực tiếp Giao thức không hạn chế số lượng máy tính Nghĩa máy tính gửi liệu đến nhiều máy khác cách trực tiếp Mơ hình TCP/IP tiêu chuẩn bao gồm tầng chồng lên nhau: Tầng 4: Application TCP/IP gì? Tầng Application hay gọi tầng ứng dụng Tầng ứng dụng đảm nhận vai trò giao tiếp liệu máy khác thông qua dịch vụ mạng khác (duyệt web, chay hay giao thức trao đổi liệu SMTP, SSH, FTP…) Dữ liệu đến tầng định dạng để kết nối theo kiểu Byte nối Byte Các thông tin định tuyến giúp xác định đường gói tin Tầng 3: Transport TCP/IP gì? Tầng liệu hoạt động thơng qua hai giao thức TCP (Transmisson Control Protocol) UDP (User Datagram Protocol) TCP đảm bảo chất lượng truyền gửi gói tin, nhiên lại thời gian lâu để thực thủ tục kiếm soát liệu Ngược lại, UDP lại cho tốc độ truyền tải nhanh lại không đảm bảo chất lượng liệu Ở tầng này, TCP UDP hỗ trợ phân luồng liệu Tầng 2: Internet (Tầng mạng) Tầng Internet đảm nhận việc truyền tải liệu cách hợp lý Các giao thức tầng bao gồm IP (Internet Protocol), ICMP (Internet Control Message Protocol), IGMP (Internet Group Message Protocol) Tầng 1: Physical (Tầng vật lý) Tầng vật lý (còn gọi tầng liên kết liệu) tầng thấp mơ hình TCP/IP Tầng chịu trách nhiệm truyền liệu hai thiết bị mạng Tại đây, gói liệu đóng vào khung (gọi Frame) định tuyến đến đích định ban đầu - OSI 10 // BufferedReader sc = new BufferedReader(new InputStreamReader(System.in)); String msgin = "", msgout = ""; while (!msgin.equals("end")) { msgout = sc.nextLine(); dout.writeUTF(msgout); msgin = din.readUTF(); System.out.println(msgin); } s.close(); } catch (Exception e) { System.out.println(e); } Đề 191: Câu 1: Vấn đề tranh đua (race condition) gì, nêu phương pháp giải vấn đề java  Vấn đề tranh đua (race condition): Trong lĩnh vực lập trình Race condition tình xảy nhiều threads truy cập lúc muốn thay đổi liệu (có thể biến, row database, vùng shared data, memory , etc ) Vì thuật toán chuyển đổi việc thực thi threads xảy lúc nên khơng thể biết thứ tự threads truy cập thay đổi liệu dẫn đến giá trị data không mong muốn Kết phụ thuộc vào thuật toán thread scheduling hệ điều hành Q trình thread thực thi lệnh trơng đua vận động viên điền kinh olympic liên tưởng đến thuật ngữ (keyword) “Race condition” - Phương pháp giải vấn đề: 45 Như thấy race condition vấn đề thường xuyên xảy lập trình Với kinh nghiệm java sử dụng spring boot, spring jpa mysql gặp phải tình Các giải pháp biết sau: Dùng message queue để chứa xử lí việc đọc, ghi liệu Sử dụng chế Locking JPA để đồng liệu Sử dụng câu update trực tiếp đưa phần tính tốn xuống data base Câu 2: Viết chương trình Client-Server thực chức sau: Client kết nối tới server, server in tên Client kết nối, client gửi xâu ký tự lên server, server kiểm tra xâu ký tự “date” trả ngày dạng dd/mm/yyyy, “time” trả thời gian dạng hh:mm:ss Server: import java.io.*; import java.net.*; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; public class Server { public static void main(String[] args) { try { ServerSocket ss = new ServerSocket(1202); Socket s = ss.accept(); System.out.println("Client connect :" + s.getInetAddress().getHostName()); DataInputStream din = new DataInputStream(s.getInputStream()); DataOutputStream dout = new DataOutputStream(s.getOutputStream()); String msgin ="", msgout =""; while(!msgin.equals("end")){ msgin = din.readUTF(); System.out.println(msgin); dout.writeUTF(kiemtra(msgin)); 46 dout.flush(); } s.close(); } catch (Exception e) { System.out.println(e); } } public static String kiemtra(String xau){ LocalDateTime now = LocalDateTime.now(); DateTimeFormatter dtf; String timenow = ""; if (xau.equals("date")) { dtf = DateTimeFormatter.ofPattern("dd/MM/yyyy"); timenow = dtf.format(now); } else if (xau.equals("time")) { dtf = DateTimeFormatter.ofPattern("HH:mm:ss"); timenow = dtf.format(now); } return timenow; } } Câu 3: Viết chương trình tính diện tích tam giác mặt phẳng chiều với đỉnh nhập từ bàn phím, kết lưu vào tệp văn import java.io.File; 47 import java.io.FileWriter; import java.io.IOException; import java.util.Scanner; public class NewMain { public static void main(String[] args) { double xA, yA; // tọa độ điểm A double xB, yB; // tọa độ điểm B double xC, yC; // tọa độ điểm C double dientich; Scanner scanner = new Scanner(System.in); System.out.println("Nhập tọa độ điểm A: "); System.out.println("Nhập hoành độ điểm A:"); xA = scanner.nextDouble(); System.out.println("Nhập tung độ điểm A: "); yA = scanner.nextDouble(); System.out.println("\nNhập tọa độ điểm B: "); System.out.println("Nhập hoành độ điểm B: "); xB = scanner.nextDouble(); System.out.println("Nhập tung độ điểm B: "); yB = scanner.nextDouble(); System.out.println("\nNhập tọa độ điểm C: "); System.out.println("Nhập hoành độ điểm C: "); xC = scanner.nextDouble(); System.out.println("Nhập tung độ điểm C: "); 48 yC = scanner.nextDouble(); dientich = Math.abs((xB-xA)*(yC-yA)-(xC-xA)*(yB-yA))/2; System.out.println(dientich); try { FileWriter fw = new FileWriter(new File("D:/test.txt")); fw.write("" + dientich); fw.close(); } catch (IOException ex) {} } } Câu 594: Đề 2: Câu 1: Nêu đặc điểm mơ hình Client-Server, kể tên số ứng dụng chạy mơ hình mơ hình đại mở rộng từ Client-Server  Đặc điểm Client server Ưu điểm: - - - Mơ hình client server giúp làm việc máy tính có hỗ trợ giao thức truyền thông Giao thức chuẩn giúp nhà sản xuất tích hợp lên nhiều sản phẩm khác mà khơng gặp phải khó khăn Có thể có nhiều chương server làm dịch vụ, chúng nằm nhiều máy tính máy tính Mơ hình Client server mang đặc điểm phần mềm mà khơng liên quan đến phần cứng, ngồi u cầu server phải có cấu hình cao client Client server hỗ trợ người dùng nhiều dịch vụ đa dạng tiện dụng khả truy cập từ xa mà mơ hình cũ khơng có Mơ hình mạng khách chủ cung cấp tảng lý tưởng, cho phép cung cấp tích hợp kỹ thuật đại mơ hình thiết kế hướng đối tượng, hệ chuyên gia, hệ thông tin địa lý (GIS) Nhược điểm: 49 Do phải trao đổi liệu máy tính khác khu vực địa lý cách xa nhau, nên vấn đề bảo mật liệu thơng tin đơi cịn chưa an toàn Đây nhược điểm mơ hình  Kể tên số ứng dụng chạy mơ hình mơ hình mở rộng từ client-server Facebook, Instagram, Messenger, Ứng dụng chat Zalo,… hay ứng dụng nghe nhạc/xem video trực tuyến Youtube, Zing MP3, Nhaccuatui,… Câu 2: Viết chương trình Client-Server thực chức sau: Client kết nối tới server, gửi lên chuỗi ký tự, server lưu chuỗi vào file văn bản, với tên file đặt theo thời gian trả file name đầy đủ cho client SERVER: public static void main(String[] args) { try { ServerSocket ss = new ServerSocket(1202); Socket s = ss.accept(); System.out.println("Client connect :" + s.getInetAddress().getHostName()); DataInputStream din = new DataInputStream(s.getInputStream()); DataOutputStream dout = new DataOutputStream(s.getOutputStream()); String msgin =""; while(!msgin.equals("end")){ msgin = din.readUTF(); System.out.println(msgin); File file = new File("D:/test.txt"); FileWriter fw = new FileWriter(file); fw.write(msgin); fw.close(); dout.writeUTF(file.getName()); 50 dout.flush(); } s.close(); } catch (Exception e) { System.out.println(e); } } Client: public static void main(String[] args) { try { Socket cs = new Socket("127.0.0.1", 1202); DataInputStream din = new DataInputStream(cs.getInputStream()); DataOutputStream dout = new DataOutputStream(cs.getOutputStream()); Scanner scanner = new Scanner(System.in); String strSend = "", strReturn = ""; while (true) { strSend = scanner.nextLine(); dout.writeUTF(strSend); dout.flush(); //doc du lieu tronc socket strReturn = din.readUTF(); System.out.println("Server replied " + strReturn); } } catch (IOException e) {} } Câu 3: Viết chương trình giải phương trình bậc với hệ số a,b,c nhập từ bàn phím, lưu kết vào tệp nhị phân 51 import java.io.BufferedOutputStream; import java.io.DataOutputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.util.Scanner; public class NewMain { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("Nhập hệ số bậc 2, a = "); float a = scanner.nextFloat(); System.out.print("Nhập hệ số bậc 1, b = "); float b = scanner.nextFloat(); System.out.print("Nhập số tự do, c = "); float c = scanner.nextFloat(); try { DataOutputStream dos = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(new File("D:/test.dat")))); dos.writeChars(giaiPTBac2(a, b, c)); dos.close(); System.out.println("done"); } catch (IOException ex) {} } public static String giaiPTBac2(float a, float b, float c) { String temp = ""; if (a == 0) { 52 if (b == 0) { temp = "Phương trình vơ nghiệm!"; } else { temp = "Phương trình có nghiệm: " + "x = " + (-c / b); } return temp; } // tính delta float delta = b*b - 4*a*c; float x1; float x2; // tính nghiệm if (delta > 0) { x1 = (float) ((-b + Math.sqrt(delta)) / (2*a)); x2 = (float) ((-b - Math.sqrt(delta)) / (2*a)); temp = "Phương trình có nghiệm là: "+ "x1 = " + x1 + " x2 = " + x2; } else if (delta == 0) { x1 = (-b / (2 * a)); temp = "Phương trình có nghiệm kép: "+ "x1 = x2 = " + x1; } else { temp = "Phương trình vơ nghiệm!"; } return temp; } } 53 Câu 4: Viết chương trình Client-Server thực chức năng, server cho phép nhiều client kết nối, giây server lại gửi thời gian danh sách client tới tất client (sd multi thread) import java.text.DateFormat; import java.util.Calendar; import java.util.Date; public class ClockThreadApplication implements Runnable { private Thread clockThread = null; public ClockThreadApplication() { clockThread = new Thread(this, "clock"); clockThread.start(); } @Override public void run() { Thread myThread = Thread.currentThread(); while(clockThread == myThread){ System.out.println(getTime()); try{ Thread.sleep(5000); }catch(InterruptedException e){} } } private String getTime(){ Calendar cal = Calendar.getInstance(); Date date = cal.getTime(); DateFormat dateFormatter = DateFormat.getTimeInstance(); return new String(dateFormatter.format(date)); 54 } public static void main(String[] args) { ClockThreadApplication clock = new ClockThreadApplication(); } } Đề 595: Câu 1: Nêu tóm tắt phương pháp xử lý đồng tiến trình java Câu 2: Viết chương trình Client-Server thực chức năng: client gửi yêu cầu kết nối, server chập nhận kết nối gửi thông báo thành công tới Client, lưu thời điểm client kết nối vào tệp văn (append) Server: public static void main(String[] args) { try { ServerSocket ss = new ServerSocket(1202); Socket s = ss.accept(); DataInputStream din = new DataInputStream(s.getInputStream()); DataOutputStream dout = new DataOutputStream(s.getOutputStream()); LocalDateTime now = LocalDateTime.now(); File file = new File("D:/test.txt"); FileWriter fw = new FileWriter(file); fw.append(""+now); fw.close(); String msgin =""; while(!msgin.equals("end")){ msgin = din.readUTF(); 55 System.out.println(msgin); dout.writeUTF("kêt nối thành công"); dout.flush(); } s.close(); } catch (Exception e) { System.out.println(e); } } } Client: try { Socket cs = new Socket("127.0.0.1", 1202); DataInputStream din = new DataInputStream(cs.getInputStream()); DataOutputStream dout = new DataOutputStream(cs.getOutputStream()); Scanner scanner = new Scanner(System.in); String strSend = "", strReturn = ""; while (true) { strSend = scanner.nextLine(); dout.writeUTF(strSend); dout.flush(); //doc du lieu tronc socket strReturn = din.readUTF(); System.out.println("Server replied " + strReturn); } 56 } catch (IOException e) { e.printStackTrace(); } Câu 3: Viết chương trình đọc mảng số nguyên từ tệp, lọc số lẻ, tính tổng in kết public class NewMain { public static void main(String[] args) { try { File f = new File("D:/test.txt"); Scanner scanner = new Scanner(f); int sum = 0; while (scanner.hasNext()) { sum += scanner.nextInt(); } System.out.println("Sum:" + sum); } catch (Exception err) { err.printStackTrace(); } } Câu 4: Viết chương trình Client- Server thực chức năng, client gửi lên xâu ký tự, server gửi tới tất client khác (sd multi thread) Server: public static void main(String[] args) { try { 57 ServerSocket server = new ServerSocket(1202); while (true) { Socket client = server.accept(); System.out.println("New Client connected " + client.getInetAddress().getHostAddress()); ClientHandler clientSock = new ClientHandler(client); new Thread(clientSock).start(); } } catch (Exception e) { System.out.println(e); } } //tạo thread public static class ClientHandler implements Runnable { private final Socket cs; public ClientHandler(Socket socket) { this.cs = socket; } public void run() { DataInputStream din = null; DataOutputStream dout = null; String strReceive = "", strReturn = ""; while (true) { try { strReceive = din.readUTF(); System.out.printf("Sent from the client: %s\n", strReceive); 58 dout.writeUTF(strReceive); } catch (IOException ex) { System.out.println(ex); } } } } } 59 ... tin trình khách cũ, người dùng xác định độ lớn tối đa thơng điệp mà trình chủ ESMTP cho phép chấp nhận, trước gửi thông điệp Ứng dụng mạng giao thức tầng mạng - Các ứng dụng mạng + Các chương trình. ..  Server đợi yêu cầu từ client  Client gởi yều tài liệu  Web server gởi trả lại tài liệu tương ứng  Đóng kết nối TCP  Client phân tích tài liệu nhúng đối tượng vào (images) o Lặp lại cho... đổi thơng tin máy tính.Trong q trình truyền liệu, tầng trình bày bên máy gửi có nhiệm vụ dịch liệu từ định dạng riêng sang định dạng chung trình ngược lại tầng trình bày bên máy nhận Tầng 7:

Ngày đăng: 24/08/2020, 09:58

TỪ KHÓA LIÊN QUAN

w