báo cáo thực hành lập trình mạng

34 1.7K 0
báo cáo thực hành lập trình mạng

Đ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

báo cáo thực hành lập trình mạng

TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN MẠNG VÀ TRUYỀN THÔNG    BÁO CÁO THỰC HÀNH LẬP TRÌNH MẠNG Nhóm GV hướng dẫn : 08A : Nguyễn Văn Nguyên Đà Nẵng 2011 Thực hành lập trình mạng GVHD: Nguyễn Văn Nguyên MỤC LỤC CHƯƠNG CƠ SỞ LÝ THUYẾT 1.1 MÔ HÌNH CLIENT-SERVER: 1.2 GIAO THỨC TCP 1.3 GIAO THỨC UDP: CHƯƠNG THIẾT KẾ VÀ XÂY DỰNG CHƯƠNG TRÌNH 2.1 LAB1 2.1.1 Net1 2.1.2 Student Manager 2.1.3 NumberTCPSimple 13 2.2 LAB2 17 2.2.1 Net1 17 2.2.2 Net2 .18 2.2.3 Net3 20 2.2.4 Net4 21 2.2.5 KnockKnock 23 2.3 LAB3 28 2.3.1 MulticastPeer .28 2.3.2 Multicast 30 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 35 Thực hành lập trình mạng Chương GVHD: Nguyễn Văn Nguyên CƠ SỞ LÝ THUYẾT 1.1 Mô hình client-server: Mô hình client/server sau: Client/Server mô hình tổng quát nhất, thực tế server nối tới nhiều server khác nhằm làm việc hiệu nhanh Khi nhận yêu cầu từ client, server gửi tiếp yêu cầu vừa nhận cho server khác ví dụ database server thân xử lý yêu cầu Máy server thi hành nhiệm vụ đơn giản phức tạp Ví dụ máy chủ trả lời thời gian ngày, máy client yêu cầu lấy thông tin thời gian phải gửi yêu cầu theo tiêu chuẩn server định ra, yêu cầu chấp nhận máy server trả thông tin mà client yêu cầu Có nhiều dịch vụ server mạng hoạt động theo nguyên lý nhận yêu cầu từ client sau xử lý trả kết cho client yêu cầu Thông thường chương trình server client thi hành hai máy khác Cho dù lúc server trạng thái sẵn sàng chờ nhận yêu cầu từ client thực tế tiến trình liên tác qua lại (interaction) client server lại bắt đầu phía client, mà client gửi tín hiệu yêu cầu tới server Các chương trình server thường thi hành mức ứng dụng (tầng ứng dụng mạng) Sự thuận lợi phương pháp làm việc mạng máy tính có hỗ trợ giao thức truyền thông chuẩn cụ thể giao thức TCP/IP Với giao thức chuẩn giúp cho nhà sản xuất tích hợp nhiều sản phẩm khác họ lên mạng mà không gặp phải khó khăn Với chuẩn chương trình server cho dịch vụ thi hành hệ thống chia sẻ thời gian (timesharing system) với nhiều chương trình dịch vụ khác chạy máy tính nhân bình thường 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 Với mô hình nhận thấy mô hình client/server mang đặc điểm phần mềm không liên quan đến phần cứng thực tế yêu cầu cho máy server cao nhiều so với máy client Lý máy server phải quản lý nhiều yêu cầu từ clients khác mạng Ưu nhược điểm Có thể nói với mô hình client/server thứ dường nằm bàn người sử dụng, truy cập liệu từ xa (bao gồm công việc gửi nhận file, tìm kiếm thông tin, ) với nhiều dịch vụ đa dạng mà mô hình cũ làm Mô hình client/server cung cấp tảng lý tưởng cho phé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) Một vấn đề nảy sinh mô hình tính an toàn bảo mật thông tin mạng Do phải trao đổi liệu máy khu vực khác dễ dàng xảy tượng thông tin truyền mạng bị lộ Thực hành lập trình mạng GVHD: Nguyễn Văn Nguyên 1.2 Giao thức TCP Bộ giao thức TCP/IP, ngắn gọn TCP/IP (tiếng Anh: Internet protocol suite IP suite TCP/IP protocol suite - giao thức liên mạng), 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 tên theo hai giao thức TCP (Giao thức Điều khiển Giao vận) IP (Giao thức Liên mạng) Chúng hai giao thức định nghĩa Như nhiều giao thức khác, giao thức TCP/IP coi tập hợp tầng, tầng giải tập vấn đề có liên quan đến việc truyền liệu, cung cấp cho giao thức tầng cấp dịch vụ định nghĩa rõ ràng dựa việc sử dụng dịch vụ tầng thấp Về mặt lôgic, tầng gần với người dùng làm việc với liệu trừu tượng hơn, chúng dựa vào giao thức tầng cấp để biến đổi liệu thành dạng mà cuối truyền cách vật lý - Mô hình OSI miêu tả tập cố định gồm tầng mà số nhà sản xuất lựa chọn so sánh tương giao thức TCP/IP Sự so sánh gây nhầm lẫn mang lại hiểu biết sâu giao thức TCP/IP 1.3 Giao thức UDP: UDP (User Datagram Protocol) giao thức cốt lõi giao thức TCP/IP Dùng UDP, chương trình mạng máy tính gởi liệu ngắn gọi datagram tới máy khác UDP không cung cấp tin cậy thứ tự truyền nhận mà TCP làm; gói liệu đến không thứ tự bị mà thông báo Tuy nhiên UDP nhanh hiệu mục tiêu kích thước nhỏ yêu cầu khắt khe thời gian Do chất không trạng thái nên hữu dụng việc trả lời truy vấn nhỏ với số lượng lớn người yêu cầu Thực hành lập trình mạng GVHD: Nguyễn Văn Nguyên Những ứng dụng phổ biến sử dụng UDP DNS (Domain Name System), ứng dụng streaming media, Voice over IP, Trivial File Transfer Protocol (TFTP), game trực tuyến Chương THIẾT KẾ VÀ XÂY DỰNG CHƯƠNG TRÌNH Thực hành lập trình mạng GVHD: Nguyễn Văn Nguyên 2.1 LAB1 2.1.1 Net1 Đề bài: Viết chương trình xử lí chuỗi nhập, dùng để khởi tạo đối tượng URL trả thuộc tính Chức chương trình: - Truy cập vào URL, sau in thông tin tài nguyên như: o Tên file o Tên host o Số hiệu cổng o Kiểu giao thức (https http ftp…) Cơ chế: - Client gửi yêu cầu đến SERVER - SERVER trả thông tin tài nguyên - Client xuất console Các lớp chức lớp: - Chương trình đơn giản nên có hàm main mà ko có thuộc tính hay phương thức - Khi biên dịch chạy người sử dụng truyền đối số vào, lúc chương trình hiển thị thông tin - Sử dụng lớp URL có sẵn để truy cập Triển khai: Net1.java package Lab1; import java.net.*; public class Net1 { public static void main(String args[]){ try{ URL u=new URL("http://www.vnexpress.net:8080"); System.out.println("Name of the file is:"+ u.getFile()); System.out.println("Host name is:"+ u.getHost()); System.out.println("Port number is:"+ u.getPort()); System.out.println("Protocol type is:"+ u.getProtocol()); }catch(MalformedURLException e){ System.out.println(e); Thực hành lập trình mạng GVHD: Nguyễn Văn Nguyên } } } Kết quả: 2.1.2 Student Manager Đề bài: Tạo ứng dụng độc lập Ứng dụng nhận câu lệnh cho bảng students có thuộc tính: name, id age để thêm vào bảng Còn ứng dụng thứ hai in hình thông tin từ bảng students Add Student Chức chương trình: - Kết nối sở liệu - Thêm trường vào sở liệu Cơ chế: - Tạo kết nối đến Driver hệ quản trị sở liệu - Từ đó, thực thi câu lệnh xử lí CSDL - Kiểm tra việc thêm có thành công hay ko, ko báo lỗi Các lớp chức lớp: - Cũng lớp Net1, lớp chứa hàm main, ko có thuộc tính phương thức khác - Tạo đối tượng Connection kết nối đến Driver hệ quản trị CSDL, việc load driver không thành công thoát chương trình - Tạo đối tượng Statement thực thi câu lệnh xử lí CSDL (ở Insert), sử dụng phương thức execute để thực thi lệnh không cần truy vấn, đối số trả kiểu int, trả thành công, giá trị khác thất bại Get Students1 Chức chương trình: - Kết nối CSDL - Truy vấn Thực hành lập trình mạng GVHD: Nguyễn Văn Nguyên Cơ chế: - Tạo kết nối đến Driver hệ quản trị sở liệu - Từ đó, thực thi câu lệnh truy vấn CSDL - Xuất kết hình Các lớp chức lớp: - Tương tự lớp add student, tạo Statement sử dụng phương thức excecuteQuery thay execute, kiểu trả ResultSet - Từ ResultSet trả về, hiển thị lên hình Triển khai: AddStudent.java package Lab1; import java.sql.*; public class AddStudent { public static void main(String args[]){ Connection connection=null; try{ Class.forName("org.gjt.mm.mysql.Driver").newInstance(); }catch(Exception e){ System.out.println("Registering the Driver was failed"); } try{ connection=DriverManager.getConnection("jdbc:mysql://localhost:3306/ universitydb"); }catch(Exception e){ System.out.println("Connection with the DataBase failed"); e.printStackTrace(); System.exit(1); } Statement statement=null; try{ statement=connection.createStatement(); boolean temp=statement.execute("insert into students value('Anh Tuan,'012','06t3'"); //boolean temp=statement.execute("insert into students value('"+ args[0] + "','" + args[1]+ "','" + args[2]+ "')"); 10 Thực hành lập trình mạng GVHD: Nguyễn Văn Nguyên if(temp)System.out.println("a line was added to the table"); }catch(SQLException e){ e.printStackTrace(); }finally{ try{ statement.close(); connection.close(); }catch(SQLException e){ e.printStackTrace(); } } } } GetStudent.java package Lab1; import java.sql.*; public class GetStudent { public static void main(String args[]){ Connection connection=null; try{ Class.forName("org.gjt.mm.mysql.Driver").newInstance(); }catch(Exception e){ System.out.println("Registering the Driver was failed"); } try{ connection=DriverManager.getConnection("jdbc:mysql://localhost:3306/ universityDB"); }catch(Exception e){ System.out.println("Connection with the DataBase failed"); e.printStackTrace(); System.exit(1); } Statement statement=null; try{ 11 Thực hành lập trình mạng GVHD: Nguyễn Văn Nguyên statement=connection.createStatement(); ResultSet result=statement.executeQuery("select * from student"); while(result.next()){ System.out.println(result.getString(1)+ "," + result.getString(2) + "," + result.getString(3)); } }catch(SQLException e){ e.printStackTrace(); }finally{ try{ statement.close(); connection.close(); }catch(SQLException e){ e.printStackTrace(); } } } } Kết quả: 12 Thực hành lập trình mạng GVHD: Nguyễn Văn Nguyên - Tương tự Net3, thay sử dụng phương thức getHeaderField sử dụng getDate(), getContentType()… đối tượng URLConnection để thay - Duyệt hết toàn nội dung hiển thị hình Triển khai: net4.java package Lab2; import java.net.*; import java.io.*; import java.util.*; public class net4 { public static void main(String args[])throws IOException{ int i; URL ul=new URL("http://www.24.com.vn"); URLConnection u=ul.openConnection(); System.out.println("Date: "+ new Date(u.getDate())); System.out.println("Content-type:"+u.getContentType()); System.out.println("Expires: "+u.getExpiration()); System.out.println("Last Modified: "+u.getLastModified()); int l=u.getContentLength(); System.out.println("Content_length: "+ l); if(l>0){ System.out.println("Content"); InputStream is=u.getInputStream(); int a=l; while(((i=is.read())!=-1)&&( a>0)){ System.out.print((char)i); } is.close(); } else System.out.println("Content is not available"); } } 22 Thực hành lập trình mạng GVHD: Nguyễn Văn Nguyên Kết quả: 2.2.5 KnockKnock Đề bài:Viết ứng dụng để minh họa gửi liệu đến server client xử lí Ví dụ hai chương trình độc lập chạy JAVA: chương trình client chương trình server Chương trình client thực thi lớp KnockKnockClient Chương trình server thực thi hai lớp: KnockKnockServer KnockKnockProtocol KnockKnockServer chứa phương thức main cho chương trình server mở cổng, kết nối đọc, gửi liệu đến socket, KnockKnockProtocol xử lí jokes Nó theo dõi joke tại, trạng thái (gửi knock knock, gửi clue, v.v…) trả giá trị khác joke trạng thái Đối tượng thực thi giao thức xác đinh – ngôn ngữ giao tiếp client server Chức chương trình: - Một chương trình vui nhộn, trao đổi thông điệp client-server qua lại lẫn nhau, tựa chat game Cơ chế: - Dùng chế client/server để gửi nhận thông điệp Các lớp chức lớp: - Khi client server kết nối với Server hiển thị “Knock!Knock!” - Nếu người sử dụng gửi “Who’s there?”, server gửi tên người chuỗi clues với số currentJoke số người - Nếu tiếp tục gửi tên người + who? (Tức hỏi họ ai), kết hợp với chuỗi answers để trả lời cho client - Server hỏi có muốn tiếp tục không, client đồng ý chuyển đến người người hành, người sử dụng không muốn tiếp tục Triển khai: KnockKnockServer.java package Lab2.Cau5; import java.io.*; import java.net.*; 23 Thực hành lập trình mạng GVHD: Nguyễn Văn Nguyên public class KnockKnockServer { public static void main(String args[])throws IOException{ ServerSocket serverSocket=null; try{ serverSocket=new ServerSocket(4444); }catch(IOException e){ System.err.println("Could not listen on port: 4444"); System.exit(1); } Socket clientSocket=null; try{ clientSocket=serverSocket.accept(); }catch(IOException e){ System.err.println("Accept failed"); System.exit(1); } PrintWriter out=new PrintWriter(clientSocket.getOutputStream(),true); BufferedReader InputStreamReader(clientSocket.getInputStream())); in=new BufferedReader(new String inputLine,outputLine; KnockKnockProtocol kkp=new KnockKnockProtocol(); outputLine=kkp.processInput(null); out.println(outputLine); while((inputLine=in.readLine())!=null){ outputLine=kkp.processInput(inputLine); out.println(outputLine); if(outputLine.equals("Bye!"))break; } out.close(); in.close(); clientSocket.close(); serverSocket.close(); } } 24 Thực hành lập trình mạng GVHD: Nguyễn Văn Nguyên KnockKnockProtocol.java package Lab2.Cau5; public class KnockKnockProtocol { private static final int WAITING=0; private static final int SENTKNOCKKNOCK=1; private static final int SENTCLUE=2; private static final int ANOTHER=3; private static final int NUMJOKES=5; private int state=WAITING; private int currentJoke=0; private String []clues={"Turnip","Little Old Lady","Atch","Who","Who"}; private String []answers={"Turnip the heat, it's cold in here!","I didn't know you could yodel!","Bless you!","Is there an owl in here?","Is there an echo in here?"}; public String processInput(String theInput){ String theOutput=null; if(state==WAITING){ theOutput="Knock! Knock!"; state =SENTKNOCKKNOCK; } else if(state==SENTKNOCKKNOCK){ if(theInput.equalsIgnoreCase("Who's there?")){ theOutput=clues[currentJoke]; state=SENTCLUE; }else theOutput="You're supposed to say \"Who there?\"!"+"Try again Knock! Knock!"; } else if (state == SENTCLUE) { if(theInput.equalsIgnoreCase(clues[currentJoke])){ theOutput=answers[currentJoke]+ "Want another? (y/n)"; state=ANOTHER; }else{ theOutput="You're supposed to say \""+clues[currentJoke]+ " Who?\""+"! Try again Knock! Knock!"; state=SENTKNOCKKNOCK; } 25 Thực hành lập trình mạng GVHD: Nguyễn Văn Nguyên } else if(state==ANOTHER){ if(theInput.equalsIgnoreCase("y")){ theOutput="Knock! Knock!"; if(currentJoke==NUMJOKES-1) currentJoke=0; else currentJoke++; state=SENTKNOCKKNOCK; }else{ theOutput="Bye!"; state=WAITING; } } return theOutput; } } KnockKnockClient.java package Lab2.Cau5; import java.net.*; import java.io.*; public class KnockKnockClient { public static void main(String args[])throws IOException{ Socket kkSocket=null; PrintWriter out=null; BufferedReader in=null; try{ kkSocket=new Socket("localhost",4444); out=new PrintWriter(kkSocket.getOutputStream(),true); in=new BufferedReader(new InputStreamReader(kkSocket.getInputStream())); }catch(UnknownHostException e){ System.err.println("Don't known about host: localhost"); System.exit(1); 26 Thực hành lập trình mạng GVHD: Nguyễn Văn Nguyên }catch(IOException e){ System.err.println("Couldn't get I/O for the connection to: localhost"); System.exit(1); } BufferedReader stdIn=new BufferedReader(new InputStreamReader(System.in)); String fromServer; String fromUser; while((fromServer=in.readLine())!=null){ System.out.println("Server: "+ fromServer); if(fromServer.equals("Bye!"))break; fromUser=stdIn.readLine(); if(fromUser!=null){ System.out.println("Client: "+ fromUser); out.print(fromUser); } } out.close(); in.close(); stdIn.close(); kkSocket.close(); } } Kết quả: SERVER CLIENT 27 Thực hành lập trình mạng GVHD: Nguyễn Văn Nguyên 2.3 LAB3 2.3.1 MulticastPeer Đề bài: Xây dựng chương trình multicast theo mẫu bên Chức chương trình: - Tham gia vào group multicast - Gửi liệu đến địa multicast - Nhận liệu từ multicast - Hiển thị lên hình - Chỉ cần client tham gia vào group địa multicast có liệu gửi vào tất client nhận Cơ chế: - Tham gia vào group địa multicast - Gửi liệu đến địa multicast (Lúc client muốn nhận phải tham gia vào group multicast nhận được) - Vì chương trình tham gia vào group multicast nên nhận liệu có client gửi vào địa Các lớp chức lớp: - Chạy chương trình gồm đối số: đối số liệu cần gửi đi, đối số thứ địa multicast - Chỉ gồm phương thức main(): - Tạo cổng liên kết đến multicast - Tham gia vào group multicast - Chuyển đối số thứ thành mảng byte, tạo đối tượng DatagramPacket để gửi liệu (gọi phương thức send đối tượng DatagramPacket) - Gọi phương thức receive để nhận liệu từ địa multicast - Rời khỏi nhóm multicast để không nhận liệu từ địa 28 Thực hành lập trình mạng GVHD: Nguyễn Văn Nguyên Triển khai: MulticasPeer.java package Lab3; import java.net.*; import java.io.*; public class MulticasPeer { public static void main(String args[]){ MulticastSocket s=null; try{ InetAddress group=InetAddress.getByName(args[1]); //The hard-coded port number in 6789(the client must have a MulticastSocket bound to this port) s=new MulticastSocket(6789); //The input InetAddress is the multicase group s.joinGroup(group); byte []m=args[0].getBytes(); DatagramPacket dp= new DatagramPacket(m,m.length,group,6789); s.send(dp); //buffer used to receive byte []buffer=new byte[1000]; for(int i=0;i[...]... phát triển - Thiết kế giao diện đồ họa - Các chương trình TCP thiết kế multithread - Tạo các phương thức cho mỗi chức năng, không nên đưa hết vô hàm main 35 Thực hành lập trình mạng GVHD: Nguyễn Văn Nguyên LỜI CẢM ƠN - Học phần thực hành lập trình mạng đã giúp chúng em biết thêm kiến thức căn bản về lập trình Kết hợp nhiều máy tính lại với nhau tạo thành một hệ thống lớn hơn Từ kiến thức căn bản đó làm... System.out.println("Content is not available"); } } 22 Thực hành lập trình mạng GVHD: Nguyễn Văn Nguyên Kết quả: 2.2.5 KnockKnock Đề bài:Viết ứng dụng để minh họa gửi dữ liệu đến server và client xử lí nó Ví dụ hai chương trình độc lập chạy trên JAVA: chương trình client và chương trình server Chương trình client thực thi một lớp KnockKnockClient Chương trình server thực thi hai lớp: KnockKnockServer và KnockKnockProtocol... chỉ xử lí chuỗi không hiển thị nên không đưa vào 34 Thực hành lập trình mạng Chương 3 GVHD: Nguyễn Văn Nguyên KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 1 Những kết quả đạt được - Hiểu rõ hơn về TCP, UDP - Có thể tạo một chương trình TCP, UDP đơn giản - Kết quả của chương trình được thể hiện ở phần phân tích của mỗi chương trình 2 Những vấn đề tồn tại - Chương trình được viết để thử các tính năng, nhiều lớp chưa... sg=u.getHeaderFieldKey(i); } }catch(MalformedURLException e){ 19 Thực hành lập trình mạng GVHD: Nguyễn Văn Nguyên System.out.println(e); } catch(IOException e){ System.out.println(e); } } } Kết quả: 2.2.3 Net3 Đề bài: Viết chương trình in ra địa chỉ của localhost (địa chỉ cục bộ), null host và địa chỉ bất kì trên internet Chức năng chương trình: - Hiển thị thông tin về địa chỉ cục bộ, địa chỉ null và... System.out.println(e); } } } Kết quả: 2.2.4 Net4 Đề bài: Viết chương trình mở kết nối dùng đối tượng URL và kiểm tra các thuộc tính và nội dung của tài nguyên nhận được Chức năng chương trình: - Hiển thị các thông tin về tài nguyên nhận được trên internet như ngày tạo, ngày chỉnh sửa sau cùng, ngày hết hạn… Cơ chế: Các lớp và chức năng các lớp: 21 Thực hành lập trình mạng GVHD: Nguyễn Văn Nguyên - Tương tự như Net3,.. .Thực hành lập trình mạng 2.1.3 GVHD: Nguyễn Văn Nguyên NumberTCPSimple Đề bài: Tạo ra hai ứng dụng độc lập (một client và một server) Client chấp nhận một trong các số sau: 1, 2, 3 Số này sẽ được gửi đến server Server sẽ trả lại tương ứng : “ONE” hoặc “TWO” hoặc “THREE” (tùy theo số nhận được) Dùng giao thức TCP/IP Chức năng chương trình: - Client gửi số bất kì đến... fromUser); out.print(fromUser); } } out.close(); in.close(); stdIn.close(); kkSocket.close(); } } Kết quả: SERVER CLIENT 27 Thực hành lập trình mạng GVHD: Nguyễn Văn Nguyên 2.3 LAB3 2.3.1 MulticastPeer Đề bài: Xây dựng chương trình multicast theo mẫu bên dưới Chức năng chương trình: - Tham gia vào group của multicast - Gửi dữ liệu đến địa chỉ multicast - Nhận dữ liệu từ multicast - Hiển thị lên màn... System.out.println("IO: "+ e.getMessage()); }catch(Exception e){ System.out.println("Misc: "+ e.getMessage()); }finally{ 29 Thực hành lập trình mạng GVHD: Nguyễn Văn Nguyên if(s!=null)s.close(); } } } Kết quả: 2.3.2 Multicast Đề bài: Xây dựng chương trình broadcast (quảng bá) Chức năng chương trình: - Server gửi dữ liệu đến địa chỉ multicast để nhiều client có thể nhận được - Các client hiển thị các thông tin... returned="UNKNOWN"; oos.writeObject(returned); oos.close(); ois.close(); soc.close(); } } } Kết quả: Client 16 Thực hành lập trình mạng GVHD: Nguyễn Văn Nguyên SERVER 2.2 LAB2 2.2.1 Net1 Đề bài: Viết chương trình liệt kê toàn bộ nội dung của bất kì trang web nào trên net Chức năng chương trình: - Hiển thị thông tin toàn bộ trang web của bất kì trang web nào dưới dạng text đơn thuần Cơ chế: - Gửi địa... System.out.println(e); } catch(IOException e){ System.out.println(e); } } } Kết quả: 2.2.2 Net2 Đề bài: Viết chương trình gửi đến URL một chuỗi, mở kết nối từ URL này và hiển thị thông tin header Chức năng chương trình: - Mở kết nối đến địa chỉ URL - Hiển thị thông tin các header nhận được Cơ chế: 18 Thực hành lập trình mạng - Truy xuất đến địa chỉ URL - Tạo kết nối đến nó - Lấy thông tin về Header - Hiển thị lên màn ... chương trình TCP thiết kế multithread - Tạo phương thức cho chức năng, không nên đưa hết vô hàm main 35 Thực hành lập trình mạng GVHD: Nguyễn Văn Nguyên LỜI CẢM ƠN - Học phần thực hành lập trình mạng. .. Thực hành lập trình mạng GVHD: Nguyễn Văn Nguyên Kết quả: 2.2.5 KnockKnock Đề bài:Viết ứng dụng để minh họa gửi liệu đến server client xử lí Ví dụ hai chương trình độc lập chạy JAVA: chương trình. .. CHƯƠNG TRÌNH Thực hành lập trình mạng GVHD: Nguyễn Văn Nguyên 2.1 LAB1 2.1.1 Net1 Đề bài: Viết chương trình xử lí chuỗi nhập, dùng để khởi tạo đối tượng URL trả thuộc tính Chức chương trình:

Ngày đăng: 22/03/2016, 11:21

Từ khóa liên quan

Mục lục

  • Chương 1. CƠ SỞ LÝ THUYẾT

    • 1.1. Mô hình client-server:

    • 1.2. Giao thức TCP

    • 1.3. Giao thức UDP:

    • Chương 2. THIẾT KẾ VÀ XÂY DỰNG CHƯƠNG TRÌNH

      • 2.1. LAB1

        • 2.1.1. Net1

        • 2.1.2. Student Manager

        • 2.1.3. NumberTCPSimple

        • 2.2. LAB2

          • 2.2.1. Net1

          • 2.2.2. Net2

          • 2.2.3. Net3

          • 2.2.4. Net4

          • 2.2.5. KnockKnock

          • 2.3. LAB3

            • 2.3.1. MulticastPeer

            • 2.3.2. Multicast

            • Chương 3. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

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

Tài liệu liên quan