java的socket编程
时间: 2023-10-14 21:11:57 浏览: 84
java socket编程
Java的Socket编程是一种网络编程技术,可以实现在两个计算机之间进行通信。Socket是网络通信中的一种抽象概念,可以理解为一种传输数据的通道,数据可以在通道中传输,接收方可以从通道中读取数据,发送方可以将数据写入通道中。
Java的Socket编程可以分为两种类型:客户端和服务器端。客户端程序会向服务器发送请求,而服务器会对请求进行响应。以下是一个简单的例子,演示了如何创建一个Java Socket服务器和客户端:
服务器端:
```java
import java.net.*;
import java.io.*;
public class Server {
public static void main(String[] args) throws IOException {
ServerSocket serverSocket = new ServerSocket(8080);
Socket clientSocket = serverSocket.accept();
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null) {
out.println(inputLine);
}
}
}
```
客户端:
```java
import java.net.*;
import java.io.*;
public class Client {
public static void main(String[] args) throws IOException {
Socket socket = new Socket("localhost", 8080);
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));
String userInput;
while ((userInput = stdIn.readLine()) != null) {
out.println(userInput);
System.out.println("echo: " + in.readLine());
}
}
}
```
在这个例子中,服务器使用ServerSocket类来监听客户端的连接,并使用Socket类来接受客户端连接。一旦连接被建立,服务器将创建一个PrintWriter和BufferedReader对象来处理输入和输出。客户端使用Socket类来连接服务器,并创建一个PrintWriter和BufferedReader对象来处理输入和输出。一旦连接被建立,客户端将从标准输入读取输入,并将其发送到服务器。服务器将对输入进行响应,并将其发送回客户端。
阅读全文