{ "title": "Java Socket编程:实现客户端与服务器通信", "description": "本示例演示了使用Java Socket编程实现客户端与服务器之间通信的完整过程。通过创建ServerSocket和Socket对象,建立连接并使用输入输出流进行数据交换,实现相互通信。", "keywords": "Java, Socket, 网络编程, 客户端, 服务器, 通信, 编程示例, 代码", "content": ""java\nimport java.io.BufferedReader;\nimport java.io.IOException;\nimport java.io.InputStreamReader;\nimport java.io.PrintWriter;\nimport java.net.ServerSocket;\nimport java.net.Socket;\n\npublic class Server {\n public static void main(String[] args) {\n try {\n // 创建ServerSocket对象,指定端口号\n ServerSocket serverSocket = new ServerSocket(8888);\n \n System.out.println("服务器已启动,等待客户端连接...");\n \n // 等待客户端连接\n Socket clientSocket = serverSocket.accept();\n \n System.out.println("客户端已连接!");\n \n // 获取输入流,用于接收客户端发送的数据\n BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));\n \n // 获取输出流,用于向客户端发送数据\n PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);\n \n String message;\n \n // 循环读取客户端发送的数据,并向客户端发送响应\n while ((message = in.readLine()) != null) {\n System.out.println("客户端:" + message);\n out.println("服务器收到消息:" + message);\n }\n \n // 关闭流和连接\n in.close();\n out.close();\n clientSocket.close();\n serverSocket.close();\n \n } catch (IOException e) {\n e.printStackTrace();\n }\n }\n}\n\n\"**客户端代码:**\n\"java\nimport java.io.BufferedReader;\nimport java.io.IOException;\nimport java.io.InputStreamReader;\nimport java.io.PrintWriter;\nimport java.net.Socket;\n\npublic class Client {\n public static void main(String[] args) {\n try {\n // 创建Socket对象,指定服务器IP和端口号\n Socket socket = new Socket("localhost", 8888);\n \n // 获取输入流,用于接收服务器发送的数据\n BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));\n \n // 获取输出流,用于向服务器发送数据\n PrintWriter out = new PrintWriter(socket.getOutputStream(), true);\n \n // 向服务器发送消息\n out.println("Hello, Server!");\n \n // 接收服务器的响应\n String response = in.readLine();\n System.out.println("服务器:" + response);\n \n // 关闭流和连接\n in.close();\n out.close();\n socket.close();\n \n } catch (IOException e) {\n e.printStackTrace();\n }\n }\n}\n\n缺少主类怎么办内容:缺少主类可以在代码中添加一个主类,例如在Server类中添加一个主类的代码如下:\n\njava\npublic class Server {\n public static void main(String[] args) {\n // 服务器代码...\n }\n}\n\n\n同样,可以在Client类中添加一个主类的代码如下:\n\njava\npublic class Client {\n public static void main(String[] args) {\n // 客户端代码...\n }\n}\n\n\n这样就可以在每个类中都添加一个主类,使得程序能够运行。

Java Socket编程:实现客户端与服务器通信

原文地址: https://www.cveoy.top/t/topic/pqCt 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录