Java语言,基于TCP编写一个简单的ClientServer 网络应用程序。

xiaoxiao2021-02-28  53

要求实现客户向服务器传输任意一个字符串,服务器将收到的字符串变换成大写后传回客户。

//客户端: package tcpClient; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.InputStreamReader; import java.net.Socket; public class tcpClient { private static Socket clientSocket; public static void main(String args[]) throws Exception { String sentence; // 声明字符串变量用于存储字符串输入和传送 String modifiedSentence;// 从服务器得到,并送到用户标准输出 System.out.println("请输入要转换的字符串:"); clientSocket = new Socket("localhost", 8579); // clientSocket为定义的套接字 BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));// 创建inFromUser程序的输入流 DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream());//将流连接到标准输入 BufferedReader inFromServer =new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));//连接套接字的输入流 sentence = inFromUser.readLine();//将用户输入的一行读入到sentence中 outToServer.writeBytes(sentence + '\n'); // outToServer程序的输出流 modifiedSentence = inFromServer.readLine();// 当到达服务器时,他们进入modifiedSentence字符串中 System.out.println("FROM SERVER:" + modifiedSentence);// 将服务器返回来的modifiedSentence输出显示 clientSocket.close();// 关闭套接字,tcp连接也随之关闭 } } //服务器端: package tcpServer; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.InputStreamReader; import java.net.ServerSocket; import java.net.Socket; class server { private static ServerSocket welcomeSocket; public static void main(String argv[]) throws Exception { String clientSentence;//声明字符串变量用于存储字符串输入和传送 String capitalizedSentence; // 从客户端得到 welcomeSocket = new ServerSocket(8579);// 创建welcomeSocket对象,在8579端口进行监听 while (true) { Socket connectionSocket = welcomeSocket.accept();//获取从客户端传来的字符 BufferedReader infromClient = new BufferedReader( new InputStreamReader(connectionSocket.getInputStream())); DataOutputStream outToClient =new DataOutputStream(connectionSocket.getOutputStream());// outToClient程序的输出流 clientSentence = infromClient.readLine();//把用户输入的送入clientSentence中 capitalizedSentence = clientSentence.toUpperCase() + '\n';// 将发送行中的小写转换成大写 outToClient.writeBytes(capitalizedSentence); } } }
转载请注明原文地址: https://www.6miu.com/read-2621439.html

最新回复(0)