鸿蒙OS提供了网络编程接口,其中包括Socket相关的类和方法。以下是一个简单的鸿蒙OS中使用Socket进行网络通信的示例:
import ohos.net.NetManager;
import ohos.net.NetStatusCallback;
import ohos.net.NetworkConstants;
import ohos.net.NetworkInfo;
import ohos.net.NetworkStack;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;

public class MyClient {

    public static void main(String[] args) {
        try {
            // 创建Socket并连接到服务器
            Socket socket = new Socket("192.168.1.100", 8080);

            // 获取输入输出流
            PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
            BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));

            // 向服务器发送数据
            out.println("Hello, Server!");

            // 从服务器接收数据
            String response = in.readLine();
            System.out.println("服务器响应:" + response);

            // 关闭连接
            socket.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

上述示例是一个简化的Socket通信的客户端代码。在实际应用中,你可能需要添加更多的代码以处理异常、关闭连接等情况。

同样,以下是一个简单的鸿蒙OS中Socket通信的服务器端示例:
import ohos.net.NetManager;
import ohos.net.NetStatusCallback;
import ohos.net.NetworkConstants;
import ohos.net.NetworkInfo;
import ohos.net.NetworkStack;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class MyServer {

    public static void main(String[] args) {
        try {
            // 创建ServerSocket并绑定到指定端口
            ServerSocket serverSocket = new ServerSocket(8080);

            System.out.println("等待客户端连接...");

            while (true) {
                // 等待客户端连接
                Socket clientSocket = serverSocket.accept();
                System.out.println("客户端已连接:" + clientSocket.getRemoteSocketAddress());

                // 获取输入输出流
                PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
                BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));

                // 从客户端接收数据
                String clientMessage = in.readLine();
                System.out.println("客户端消息:" + clientMessage);

                // 向客户端发送响应
                out.println("Hello, Client!");

                // 关闭连接
                clientSocket.close();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

这两个示例展示了一个简单的Socket通信的客户端和服务器端,可以根据实际需求进行修改和扩展。请注意,这里的IP地址和端口号需要根据你的实际情况进行设置。


转载请注明出处:http://www.zyzy.cn/article/detail/2835/鸿蒙OS