Java网络编程:客户端Socket连接问题实例

原创 淡淡的烟草味﹌ 2024-09-20 23:21 178阅读 0赞

在Java的网络编程中,客户端通过Socket建立与服务器的连接。以下是一个实例,演示了如何使用Java的Socket类创建客户端:

  1. 创建ServerSocket(服务器端监听)
  1. import java.io.ServerSocket;
  2. public class Server {
  3. private static final int PORT = 8080; // 设置端口
  4. public static void main(String[] args) throws Exception {
  5. ServerSocket serverSocket = new ServerSocket(PORT); // 开启服务器端监听
  6. System.out.println("Server is listening on port " + PORT);
  7. // 监听客户端连接
  8. while (true) {
  9. Socket clientSocket = serverSocket.accept(); // 接受客户端的连接请求
  10. System.out.println("Client connected from address : " + clientSocket.getRemoteSocketAddress()));
  11. // 这里你可以处理客户端数据,例如接收消息然后发送回应等
  12. // 关闭客户端连接
  13. clientSocket.close();
  14. }
  15. }
  16. }
  1. 创建Socket(客户端连接服务器)
  1. import java.io.Socket;
  2. public class Client {
  3. private static final String SERVER_ADDRESS = "localhost"; // 服务器地址
  4. private static final int PORT = 8080; // 服务器端口
  5. public static void main(String[] args) throws Exception {
  6. Socket socket = new Socket(SERVER_ADDRESS, PORT)); // 创建Socket并连接到服务器
  7. System.out.println("Connected to server at address : " + socket.getRemoteSocketAddress()));
  8. // 发送消息
  9. String message = "Hello Server!";
  10. socket.getOutputStream().write(message.getBytes()); // 写入数据到Socket的输出流
  11. // 接收服务器回应
  12. byte[] responseBytes = new byte[1024]; // 用于接收回应的数据缓冲区
  13. int bytesReceived = socket.getInputStream().read(responseBytes)); // 读取并存储到缓冲区中的字节数
  14. System.out.println("Server replied with message : " + new String(responseBytes, 0, bytesReceived)));
  15. // 关闭Socket连接
  16. socket.close();
  17. }
  18. }

以上代码示例实现了客户端通过Socket向服务器发送消息并接收回应的过程。如果你需要处理更复杂的情况,如多线程并发处理等,请告诉我具体需求,我会给出相应的解决方案。

文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,178人围观)

还没有评论,来说两句吧...

相关阅读