java中socket怎么使用

avatar
作者
猴君
阅读量:0

在Java中使用Socket进行网络通信可以分为服务端和客户端两部分。

服务端:

  1. 创建ServerSocket对象,并指定端口号。

  2. 调用ServerSocket的accept()方法接收客户端连接请求,返回一个Socket对象。

  3. 使用Socket对象的输入流和输出流进行数据的读取和写入。

  4. 通信完成后,关闭Socket对象和ServerSocket对象。

示例代码:

import java.io.*; import java.net.*; public class Server { public static void main(String[] args) { try { // 创建ServerSocket对象,并指定端口号 ServerSocket serverSocket = new ServerSocket(8888); // 接收客户端连接请求,返回一个Socket对象 Socket socket = serverSocket.accept(); // 获取输入流和输出流 InputStream is = socket.getInputStream(); OutputStream os = socket.getOutputStream(); // 读取客户端发送的数据 BufferedReader reader = new BufferedReader(new InputStreamReader(is)); String data = reader.readLine(); System.out.println("Client: " + data); // 向客户端发送数据 BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(os)); writer.write("Hello, client!\n"); writer.flush(); // 关闭流和Socket对象 reader.close(); writer.close(); is.close(); os.close(); socket.close(); serverSocket.close(); } catch (IOException e) { e.printStackTrace(); } } } 

客户端:

  1. 创建Socket对象,指定服务端的IP地址和端口号。

  2. 使用Socket对象的输入流和输出流进行数据的读取和写入。

  3. 通信完成后,关闭Socket对象。

示例代码:

import java.io.*; import java.net.*; public class Client { public static void main(String[] args) { try { // 创建Socket对象,指定服务端的IP地址和端口号 Socket socket = new Socket("127.0.0.1", 8888); // 获取输入流和输出流 InputStream is = socket.getInputStream(); OutputStream os = socket.getOutputStream(); // 向服务端发送数据 BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(os)); writer.write("Hello, server!\n"); writer.flush(); // 读取服务端发送的数据 BufferedReader reader = new BufferedReader(new InputStreamReader(is)); String data = reader.readLine(); System.out.println("Server: " + data); // 关闭流和Socket对象 writer.close(); reader.close(); is.close(); os.close(); socket.close(); } catch (IOException e) { e.printStackTrace(); } } } 

以上代码演示了一个简单的Socket通信过程,在实际应用中可能需要进行异常处理、循环读取数据等操作。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!