Java Socket网络通信程序设计:客户端与服务器交互示例
"""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"""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和Client分别是服务器端和客户端的代码,它们分别包含了main方法,可以作为主类运行。你可以将它们分别保存为Server.java和Client.java文件,并确保在运行时都有一个主类。
原文地址: https://www.cveoy.top/t/topic/pqCw 著作权归作者所有。请勿转载和采集!