使用基于TCP的Java Socket编程,完成如下功能: 1) 要求从客户端录入几个字符,发送到服务器端。 2) 由服务器端将接收到的字符进行输出。 3) 服务器端向客户端发出“您的信息已收到”作为响应。 4) 客户端接收服务器端的响应信息。
时间: 2024-03-25 08:40:37 浏览: 20
好的,下面是一个基于TCP的Java Socket编程示例,来实现您所需的功能。请注意,这只是一个简单的示例,需要进行适当的修改和完善,以适应实际情况。
客户端代码:
```java
import java.io.*;
import java.net.*;
public class TCPClient {
public static void main(String[] args) throws Exception {
// 连接服务器
Socket clientSocket = new Socket("localhost", 8888);
// 从控制台读取输入的字符
BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
System.out.print("请输入要发送的字符:");
String sentence = inFromUser.readLine();
// 发送字符到服务器
OutputStream outToServer = clientSocket.getOutputStream();
outToServer.write(sentence.getBytes());
outToServer.flush();
// 从服务器接收响应信息
InputStream inFromServer = clientSocket.getInputStream();
byte[] buffer = new byte[1024];
int bytesRead = inFromServer.read(buffer);
String response = new String(buffer, 0, bytesRead);
// 输出响应信息
System.out.println("服务器响应:" + response);
// 关闭TCP连接
clientSocket.close();
}
}
```
服务器端代码:
```java
import java.io.*;
import java.net.*;
public class TCPServer {
public static void main(String[] args) throws Exception {
// 建立TCP监听
ServerSocket serverSocket = new ServerSocket(8888);
while (true) {
// 接收TCP连接
Socket connectionSocket = serverSocket.accept();
// 从客户端接收字符
InputStream inFromClient = connectionSocket.getInputStream();
byte[] buffer = new byte[1024];
int bytesRead = inFromClient.read(buffer);
String sentence = new String(buffer, 0, bytesRead);
// 输出接收到的字符
System.out.println("接收到客户端发送的字符:" + sentence);
// 向客户端发送响应信息
OutputStream outToClient = connectionSocket.getOutputStream();
String response = "您的信息已收到";
outToClient.write(response.getBytes());
outToClient.flush();
// 关闭TCP连接
connectionSocket.close();
}
}
}
```
执行以上代码后,您可以在客户端控制台输入要发送的字符,然后程序会将其发送到服务器端,并等待服务器端的响应信息。服务器端会将接收到的字符输出到控制台,并向客户端发送“您的信息已收到”的响应信息。客户端接收到响应信息后,会在控制台上显示服务器端的响应信息。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)