用java编写一个socket编程
时间: 2023-08-21 15:06:29 浏览: 48
好的,以下是一个简单的Java Socket编程示例,其中包括一个客户端和一个服务器端:
服务器端代码:
```java
import java.io.*;
import java.net.*;
public class Server {
public static void main(String[] args) {
try {
ServerSocket serverSocket = new ServerSocket(8000);
System.out.println("服务器已启动...");
while (true) {
Socket socket = serverSocket.accept();
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream());
String line = in.readLine();
System.out.println("客户端发送的消息:" + line);
out.println("服务器已接收到您的消息:" + line);
out.flush();
socket.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
客户端代码:
```java
import java.io.*;
import java.net.*;
public class Client {
public static void main(String[] args) {
try {
Socket socket = new Socket("localhost", 8000);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream());
String line = "Hello, Server!";
out.println(line);
out.flush();
String response = in.readLine();
System.out.println("服务器返回的消息:" + response);
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
在这个示例中,服务器端监听端口号为8000的客户端连接请求,并在接收到客户端连接后,通过输入流读取客户端发送的消息,并通过输出流将消息回复给客户端。客户端连接到服务器端的IP地址为localhost,端口号为8000,并通过输出流发送消息给服务器端,然后通过输入流读取服务器返回的消息。