网络通信问题:JavaSocket编程实例

原创 今天药忘吃喽~ 2024-12-01 04:54 75阅读 0赞

JavaSocket编程是Java网络编程中的一部分,用于建立客户端和服务器之间的TCP连接。以下是一个简单的JavaSocket编程实例,创建一个客户端向服务器发送数据:

  1. 创建ServerSocket(服务器端监听)
    ```java
    import java.io.*;
    import java.net.ServerSocket;
    import java.net.Socket;

public class Server {
public static void main(String[] args) throws IOException {
// 设置服务器端口
int port = 8888;

  1. // 创建并初始化ServerSocket对象
  2. ServerSocket serverSocket = new ServerSocket(port);
  3. System.out.println("Server is listening on port " + port + "...");
  4. // 等待客户端连接
  5. Socket clientSocket = serverSocket.accept();
  6. System.out.println("Client connected: " + clientSocket);
  7. // 与客户端进行数据通信
  8. handleClient(clientSocket);
  9. }
  10. private static void handleClient(Socket clientSocket) throws IOException {
  11. BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream())));
  12. // 从客户端接收数据
  13. String messageFromClient = in.readLine();
  14. System.out.println("Received from client: " + messageFromClient));
  15. // 向客户端发送数据
  16. OutputStream out = clientSocket.getOutputStream();
  17. BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(out)));
  18. String responseToClient = "Server replied: " + messageFromClient;
  19. writer.write(responseToClient);
  20. writer.flush();
  21. in.close();
  22. out.close();
  23. clientSocket.close();
  24. }

}

  1. 2. 创建ClientSocket(客户端向服务器发送数据)
  2. ```java
  3. import java.io.*;
  4. import java.net.Socket;
  5. public class Client {
  6. public static void main(String[] args) throws IOException {
  7. // 设置客户端连接的地址和端口
  8. String serverAddress = "localhost"; // 服务器IP或域名
  9. int port = 8888; // 服务器端口
  10. // 创建Socket对象,连接到指定的服务器端口
  11. Socket socket = new Socket(serverAddress, port));
  12. System.out.println("Client connected to the server at address: " + serverAddress + ":" + port + "...");
  13. // 向服务器发送数据
  14. sendDataToServer(socket);
  15. }
  16. private static void sendDataToServer(Socket socket) throws IOException {
  17. // 创建一个用于写入的OutputStream对象
  18. OutputStream outputStream = socket.getOutputStream();
  19. // 编写你要发送的数据(例如,一个字符串)
  20. String messageToSend = "Hello, Server!"; // 自定义需要发送的内容
  21. // 将数据转换为字节流
  22. byte[] bytesToSend = messageToSendToSend.getBytes(); // 使用UTF-8编码
  23. // 向服务器输出这些字节
  24. outputStream.write(bytesToSend);
  25. // 关闭OutputStream,以释放资源
  26. outputStream.close();
  27. }
  28. }
  1. 运行两部分程序(服务器和客户端)

这样你就创建了一个基本的JavaSocket客户端向服务器发送数据的例子。根据实际需求,你可以在此基础上添加更多的功能。

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

发表评论

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

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

相关阅读