阅读量:0
在Java中,建立Socket连接主要包括两个步骤:服务器端创建ServerSocket对象并监听指定端口,客户端创建Socket对象并连接到服务器的IP地址和端口。以下是一个简单的示例:
服务器端代码:
import java.io.*; import java.net.*; public class Server { public static void main(String[] args) throws IOException { int port = 12345; // 服务器监听的端口号 ServerSocket serverSocket = new ServerSocket(port); // 创建ServerSocket对象 System.out.println("服务器已启动,正在监听端口:" + port); Socket socket = serverSocket.accept(); // 等待客户端连接 System.out.println("客户端已连接:" + socket.getInetAddress()); InputStream inputStream = socket.getInputStream(); // 获取客户端发送的数据流 BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); String message; while ((message = bufferedReader.readLine()) != null) { System.out.println("收到客户端消息:" + message); } socket.close(); // 关闭Socket连接 serverSocket.close(); // 关闭ServerSocket对象 } }
客户端代码:
import java.io.*; import java.net.*; public class Client { public static void main(String[] args) throws IOException { String serverAddress = "localhost"; // 服务器IP地址 int port = 12345; // 服务器监听的端口号 Socket socket = new Socket(serverAddress, port); // 创建Socket对象并连接到服务器 System.out.println("已连接到服务器:" + serverAddress + ":" + port); OutputStream outputStream = socket.getOutputStream(); // 获取服务器发送的数据流 PrintWriter printWriter = new PrintWriter(outputStream, true); String message = "你好,服务器!"; printWriter.println(message); // 向服务器发送消息 System.out.println("已发送消息:" + message); socket.close(); // 关闭Socket连接 } }
在这个示例中,服务器端创建了一个ServerSocket对象并监听12345端口。当客户端连接到服务器时,服务器会接收到客户端的消息并在控制台输出。客户端创建一个Socket对象并连接到服务器的IP地址和端口,然后向服务器发送一条消息。