android 局域网socket通信
时间: 2024-10-08 16:19:01 浏览: 19
在Android中,通过Socket进行局域网通信通常用于应用间直接的数据交换,比如设备之间的实时数据传输。以下是Android中利用Socket进行局域网通信的基本步骤:
1. **创建套接字**:首先,在客户端和服务器端分别创建ServerSocket和Socket实例。在服务器端,需要监听特定的端口等待连接;而在客户端,需要指定目标IP和端口号去连接服务器。
```java
// 服务器端
ServerSocket serverSocket = new ServerSocket(port);
Socket clientSocket = serverSocket.accept();
// 客户端
InetAddress ipAddress = InetAddress.getByName(serverIp);
Socket socket = new Socket(ipAddress, port);
```
2. **建立连接**:服务器端使用`accept()`方法接收来自客户端的连接请求,客户端则使用`connect()`方法尝试连接到服务器。
3. **数据传输**:一旦连接建立,双方就可以通过输入流(如InputStream和OutputStream)进行读写操作,发送和接收数据。例如,使用`read()`和`write()`方法:
```java
OutputStream outputStream = socket.getOutputStream();
outputStream.write("Hello Server!".getBytes());
BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String response = reader.readLine();
```
4. **关闭连接**:当通信完成后,记得关闭套接字和相关的流,释放资源:
```java
socket.close();
serverSocket.close();
```