java socket 并发 代码示例

pythondaimakaiyuan

温馨提示:这篇文章已超过287天没有更新,请注意相关的内容是否还可用!

java socket 并发 代码示例

Java Socket是一种用于网络通信的编程接口,它允许不同的计算机之间通过网络进行数据交换。在并发编程中,我们可以利用Java Socket实现多个客户端与服务器之间的并发通信。下面是一个简单的Java Socket并发代码示例:

我们需要创建一个服务器端程序,用于接收客户端的连接请求并处理客户端的数据。在服务器端程序中,我们需要创建一个ServerSocket对象来监听指定的端口,并使用accept()方法接收客户端的连接请求。一旦接收到客户端的连接请求,我们可以创建一个新的线程来处理该客户端的数据。

import java.io.IOException;

import java.net.ServerSocket;

import java.net.Socket;

public class Server {

public static void main(String[] args) {

try {

ServerSocket serverSocket = new ServerSocket(8888);

System.out.println("Server started.");

while (true) {

Socket clientSocket = serverSocket.accept();

System.out.println("Client connected: " + clientSocket.getInetAddress().getHostAddress());

// 创建一个新的线程来处理客户端的数据

Thread clientThread = new Thread(new ClientHandler(clientSocket));

clientThread.start();

}

} catch (IOException e) {

e.printStackTrace();

}

}

}

接下来,我们需要创建一个客户端程序,用于连接到服务器并发送数据。在客户端程序中,我们需要创建一个Socket对象来连接服务器的IP地址和端口,并使用InputStream和OutputStream来读取和写入数据。

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

import java.net.Socket;

public class Client {

public static void main(String[] args) {

try {

Socket socket = new Socket("localhost", 8888);

System.out.println("Connected to server.");

// 发送数据到服务器

OutputStream outputStream = socket.getOutputStream();

outputStream.write("Hello, server!".getBytes());

// 接收服务器的响应数据

InputStream inputStream = socket.getInputStream();

byte[] buffer = new byte[1024];

int length = inputStream.read(buffer);

String response = new String(buffer, 0, length);

System.out.println("Server response: " + response);

socket.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

在上面的示例中,服务器端使用ServerSocket监听8888端口,接收到客户端的连接请求后,创建一个新的线程来处理该客户端的数据。客户端使用Socket连接到服务器的IP地址和端口,发送数据到服务器并接收服务器的响应数据。

这样,通过使用Java Socket的并发编程,我们可以实现多个客户端与服务器之间的并发通信。

文章版权声明:除非注明,否则均为莫宇前端原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码