Tổng hợp bài giải THỰC HÀNH
Trang 1 trong tổng số 1 trang
Tổng hợp bài giải THỰC HÀNH
Bài 1:
- Code:
package LapTrinhMang.buoi1;
import java.io.*;
import java.net.*;
import java.util.Scanner;
/**
*
* @author ELCIT.FORUMVI.COM
*/
public class getHTML {
public static void main(String[] args){
try{
System.out.println("Nhap URL:");
Scanner sc = new Scanner(System.in);
String url = sc.nextLine();
Socket socket = new Socket(url,80);
OutputStream os = socket.getOutputStream();
String request = "GET /index.php HTTP/1.1";
request = request + "\r\n";
request = request + "Host: " + url;
request = request + "\r\n";
request = request + "\r\n";
byte[] b = request.getBytes();
os.write(b);
os.flush();
InputStream is = socket.getInputStream();
while(true){
int ch = is.read();
if(ch == -1) break;
System.out.print((char)ch);
}
}
catch(UnknownHostException u){
System.out.println(u);
}
catch(IOException e){
System.out.println(e);
}
}
}
Phía Server:
- Code:
/*
* NUMBER SERVER
*/
package LapTrinhMang.buoi1;
import java.io.*;
import java.net.*;
/**
*
* @author Dien dan chia se kien thuc: ELCIT.FORUMVI.COM
*/
public class NumberServer {
public static void main(String[] args){
try{
ServerSocket server = new ServerSocket(8192);
System.out.println("Server san sang phuc vu! Lang nghe tren cong "+server.getLocalPort());
Socket socket = server.accept();
System.out.println("Ket noi thanh cong! Kenh giao tiep ao o port: "+socket.getPort());
InputStream is = socket.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String request = br.readLine();
String response;
switch(request){
case "0":
response = "Khong";
break;
case "1":
response = "Mot";
break;
case "2":
response = "Hai";
break;
case "3":
response = "Ba";
break;
case "4":
response = "Tu";
break;
case "5":
response = "Nam";
break;
case "6":
response = "Sau";
break;
case "7":
response = "Bay";
break;
case "8":
response = "Tam";
break;
case "9":
response = "Chin";
break;
default:
response = "Khong phai so nguyen";
break;
}
OutputStream os = socket.getOutputStream();
PrintWriter pw = new PrintWriter(os);
pw.write(response+"\r\n");
pw.flush();
System.out.println("Gui phan hoi den Client thanh cong!!!");
socket.close();
}
catch(IOException e){
System.out.println(e);
}
}
}
- Code:
/*
* NUMBER CLIENT
*/
package LapTrinhMang.buoi1;
import java.io.*;
import java.net.Socket;
import java.util.Scanner;
/**
*
* @author Dien dan chia se kien thuc: ELCIT.FORUMVI.COM
*/
public class NumberClient {
public static void main(String[] args){
try{
Socket socket = new Socket("127.0.0.1",8192);
OutputStream os = socket.getOutputStream();
InputStream is = socket.getInputStream();
System.out.print("Nhap vao 1 ky tu: ");
Scanner sc = new Scanner(System.in);
String request = sc.nextLine();
while(request.length()>=2){
System.out.print("Ban chi duoc nhap 1 ky tu, vui long nhap lai: ");
request = sc.nextLine();
}
PrintWriter pw = new PrintWriter(os);
pw.write(request+"\r\n");
pw.flush();
System.out.println("Gui request den Server thanh cong!");
System.out.print("Ket qua tra ve tu Server: ");
while(true){
int ch = is.read();
if (ch == -1) break;
System.out.print((char)ch);
}
socket.close();
}
catch(IOException e){
System.out.println(e);
}
}
}
- Code:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package LapTrinhMang.buoi1;
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
/**
*
* @author ASUS
*/
public class NumberServer_implements implements Runnable {
Socket channel;
NumberServer_implements(Socket channel){
this.channel = channel;
}
public void run(){
try{
InputStream is = channel.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String request = br.readLine();
String response;
switch(request){
case "0":
response = "Khong";
break;
case "1":
response = "Mot";
break;
case "2":
response = "Hai";
break;
case "3":
response = "Ba";
break;
case "4":
response = "Tu";
break;
case "5":
response = "Nam";
break;
case "6":
response = "Sau";
break;
case "7":
response = "Bay";
break;
case "8":
response = "Tam";
break;
case "9":
response = "Chin";
break;
default:
response = "Khong phai so nguyen";
break;
}
OutputStream os = channel.getOutputStream();
PrintWriter pw = new PrintWriter(os);
pw.write(response+"\r\n");
pw.flush();
System.out.println("Gui phan hoi den Client thanh cong!!!");
channel.close();
}//try
catch(IOException e){
System.out.println(e);
}//catch
}
public static void main(String[] args){
try{
ServerSocket server = new ServerSocket(8192);
System.out.println("Server san sang phuc vu! Lang nghe ket noi tren port: "+server.getLocalPort());
while(true){
Socket connection = null;
connection = server.accept();
//Phan 2
NumberServer_implements thread = new NumberServer_implements(connection);
Thread luong = new Thread(thread);
luong.start();
}
}
catch(IOException e){}
}
}
Buổi 2:
Buổi 2: Socket ở chế độ nối kết (TCP) - tiếp theo
Bài 1:
Phía Client:
Bài 1:
Phía Client:
- Code:
import java.io.*;
import java.net.Socket;
import java.util.Scanner;
/**
*
* @author Nguyen Vu Trinh Nhan MSSV:1101774
*/
public class Bai1Client {
public static void main(String[] args){
try{
Socket socket = new Socket("localhost",8192);
System.out.println("Ket noi den server tren port: "+socket.getLocalPort());
System.out.print("Nhap ten file can download: ");
InputStream is = socket.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
Scanner sc = new Scanner(System.in);
String request = sc.nextLine();
OutputStream os = socket.getOutputStream();
PrintWriter pw = new PrintWriter(os);
pw.println("READ "+request);
pw.flush();
System.out.println("...da gui yeu cau den server! Cho nhan phan hoi!");
String response = br.readLine();
System.out.println("Phan hoi tu server: "+response);
switch (response) {
case "OK":
System.out.println("File ton tai tren server, bat dau qua trinh download...");
System.out.print("File:"+request+", saveas with new name:");
sc = new Scanner(System.in);
String filename = sc.nextLine();
FileOutputStream fos = new FileOutputStream(filename);
while(true){
int ch = br.read();
System.out.println((char)ch);
if(ch == -1) break;
fos.write(ch);
}
System.out.println("Da nhan file xong!!!");
break;
case "ERROR":
System.out.println("File khong ton tai tren server!\nDownload that bai!");
break;
}
}
catch(Exception e){System.out.println(e);}
}
}
- Code:
import java.io.*;
import java.net.*;
import java.util.Scanner;
/**
*
* @author Nguyen Vu Trinh Nhan MSSV:1101774
*/
public class Bai1Server {
public static void main(String[] args){
try{
ServerSocket serversocket = new ServerSocket(8192);
System.out.println("Server dang lang nghe tren port "+serversocket.getLocalPort());
Socket socket = serversocket.accept();
String log1 = "Tao socket ao giao tiep, port:"+socket.getLocalPort();
OutputStream logfile = new FileOutputStream("logfile.txt");
byte b[] = log1.getBytes();
logfile.write(b);
InputStream is = socket.getInputStream();
Scanner sc = new Scanner(is);
String request = sc.nextLine();
String filename = request.substring(request.indexOf(" ")+1);
System.out.println("Filename yeu cau tu phia client: "+filename);
OutputStream os = socket.getOutputStream();
PrintWriter pw = new PrintWriter(os);
try{
FileInputStream fis = new FileInputStream(filename);
pw.write("OK\n");
pw.flush();
System.out.println("File ton tai,bat dau gui file!");
while(true){
int ch = fis.read();
System.out.println((char)ch);
if(ch == -1) break;
pw.write(ch);
}
pw.flush();
System.out.println("Da gui file xong!");
}
catch(FileNotFoundException fnfe){
System.out.println("File khong ton tai");
pw.write("ERROR\n");
pw.flush();
}
socket.close();
}
catch(Exception e){System.err.println(e);}
}
}
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết
|
|