文章目錄
- 使用基于TCP的網路編程方法,完成遠程計算等引數列的前n項和功能,
- 使用基于TCP的網路編程方法,完成遠程小寫轉換和校驗功能,
使用基于TCP的網路編程方法,完成遠程計算等引數列的前n項和功能,
?
(1)客戶端將一等引數列的首項a1,公差d和項數n發送給服務器;
?
?(2)服務器端接收到資料后對接收到的資料進行決議,將前n項和的計算結果發送給客戶端;
?
?(3)客戶端收到后輸出到控制臺,
?
?要求上傳源代碼和服務器端和客戶端的程式運行結果截圖,
=========================================================
服務端
package MoocPart11_01_01;
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
/**
* Demo class
*
* @author Laccoliths
* @date 2021/11/13
*/
/**
* 服務端
*/
public class server {
public static void main(String[] args) throws IOException {
//1.創建服務器套接字,并指定埠號
ServerSocket listener=new ServerSocket(8888);
System.out.println("服務端已啟動...");
//2 接受客戶端連接,并回傳客戶端套接字
//回傳的是客戶端套字
Socket socket = listener.accept();
//3. 獲取輸入輸出流
//4 處理
BufferedReader br=new BufferedReader(new InputStreamReader(socket.getInputStream()));
String line=br.readLine();
// 以,為分隔符分割字串
String[] input = line.split(",");
int a1 = Integer.parseInt(input[0]);
int d = Integer.parseInt(input[1]);
int n = Integer.parseInt(input[2]);
double result = n*a1+n*(n-1)/d;
// System.out.println("首項為:"+a1+"公差為:"+d+"項數為:"+n+",的前n項和為:" +result);
//服務端回復客戶端
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter( socket.getOutputStream()));
bw.write("首項為:"+a1+",公差為:"+d+",項數為:"+n+",的前n項和為:" +result);
bw.newLine();
bw.flush();
// 5 關閉
bw.close();
br.close();
socket.close();
listener.close();
}
}
客戶端
package MoocPart11_01_01;
import java.io.*;
import java.net.Socket;
/**
*
* @author Laccoliths
* @date 2021/11/13
*/
/**
* 客戶端
*/
public class TCPclient {
public static void main(String[] args) throws IOException {
//1.創建客戶端套接字,并指定服務器地址和埠號
Socket socket=new Socket("127.0.0.1",8888);
//2.獲取輸入或者輸出流
//客戶端是向服務端發訊息 輸出
//3.處理
String str = "1,2,3";
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter( socket.getOutputStream()));
bw.write(str);
bw.newLine();
bw.flush();
System.out.println("輸入內容:"+str);
//接收服務端回復
BufferedReader br=new BufferedReader(new InputStreamReader(socket.getInputStream()));
String s = br.readLine();
System.out.println(s);
//4.關閉
br.close();
bw.close();
socket.close();
}
}
使用基于TCP的網路編程方法,完成遠程小寫轉換和校驗功能,
?
(1)客戶端鍵盤錄入幾個字符,發送到服務器端,
?
(2)服務器端將接收到的字符進行小寫處理(即將所有字母轉化為小寫),并向客戶端發出轉換后的字串作為回應,
?
(3)客戶端對收到的字串進行處理校驗,如果校驗成功,回傳“處理成功”給服務器作為回應,并將其保存到character.txt檔案中;否則回傳“處理錯誤”給服務器作為回應,
?
要求上傳源代碼和服務器端和客戶端程式運行結果截圖,
=========================================================
服務端
package MoocPart10_01_02;
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
/**
*
* @author Laccoliths
* @date 2021/11/13
*/
/**
* 服務端
*/
public class server {
public static void main(String[] args) throws IOException {
//1.創建服務器套接字,并指定埠號
ServerSocket listener=new ServerSocket(8888);
System.out.println("服務端已啟動...");
//2 接受客戶端連接,并回傳客戶端套接字
//回傳的是客戶端套字
Socket socket = listener.accept();
//3. 獲取輸入輸出流
//4 處理
BufferedReader br=new BufferedReader(new InputStreamReader(socket.getInputStream()));
String line=br.readLine();
String lower = line.toLowerCase();
System.out.println(lower);
//服務端回復客戶端
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter( socket.getOutputStream()));
if (checkString(lower)) {
bw.write("校驗成功!");
toTxt(lower);
}else {
bw.write("校驗錯誤!");
}
// bw.write(lower);
bw.newLine();
bw.flush();
// 5 關閉
bw.close();
br.close();
socket.close();
listener.close();
}
/**
* 檢驗是否是小寫,全小寫回傳true,否則回傳false
* @param str
*/
private static boolean checkString(String str) {
char ch;
boolean capitalFlag = false;
boolean lowerCaseFlag = false;
boolean numberFlag = false;
for(int i=0;i < str.length();i++) {
ch = str.charAt(i);
if( Character.isDigit(ch)) {
numberFlag = true;
}
else if (Character.isUpperCase(ch)) {
capitalFlag = true;
} else if (Character.isLowerCase(ch)) {
lowerCaseFlag = true;
}
if(numberFlag && capitalFlag && lowerCaseFlag) {
return false;
}
}
return true;
}
/**
* 將字串寫入D:/character.txt檔案中
* @param str
* @throws IOException
*/
private static void toTxt(String str) throws IOException {
FileWriter fileWriter = new FileWriter("D:/character.txt");
fileWriter.write(str);
fileWriter.close();
}
}
客戶端
package MoocPart10_01_02;
import java.io.*;
import java.net.Socket;
/**
* @author Laccoliths
* @date 2021/11/13
*/
/**
* 客戶端
*/
public class TCPclient {
public static void main(String[] args) throws IOException {
//1.創建客戶端套接字,并指定服務器地址和埠號
Socket socket=new Socket("127.0.0.1",8888);
//2.獲取輸入或者輸出流
//客戶端是向服務端發訊息 輸出
//3.處理
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter( socket.getOutputStream()));
String str = "JavaProgramingTechnique";
bw.write(str);
System.out.println("輸入內容:"+str);
bw.newLine();
bw.flush();
//接收服務端回復
BufferedReader br=new BufferedReader(new InputStreamReader(socket.getInputStream()));
String s = br.readLine();
System.out.println(s);
//4.關閉
br.close();
bw.close();
socket.close();
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/357078.html
標籤:其他
上一篇:http協議詳解
