android 局域网通信实例
时间: 2023-10-17 18:03:23 浏览: 194
Android局域网通信是指在同一局域网内的Android设备之间进行通信和数据交换。通过局域网通信,可以实现Android设备之间的互联互通,方便数据传输和共享。
在Android中,可以使用Socket编程来实现局域网通信。以下是一个简单的例子:
首先,需要创建一个服务器端和一个客户端。服务器端负责监听局域网内的连接请求,而客户端则负责向服务器发送连接请求。
服务器端的代码如下:
```java
public class ServerThread extends Thread {
ServerSocket serverSocket;
@Override
public void run() {
try {
serverSocket = new ServerSocket(8888);
Socket socket = serverSocket.accept();
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String message = in.readLine();
System.out.println("接收到客户端消息:" + message);
serverSocket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
客户端的代码如下:
```java
public class ClientThread extends Thread {
String ipAddress;
public ClientThread(String ipAddress) {
this.ipAddress = ipAddress;
}
@Override
public void run() {
try {
Socket socket = new Socket(ipAddress, 8888);
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
out.println("你好服务器!");
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
接下来,在Android应用的MainActivity中启动服务器端和客户端线程:
```java
public class MainActivity extends AppCompatActivity {
ServerThread serverThread;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
serverThread = new ServerThread();
serverThread.start();
ClientThread clientThread = new ClientThread("服务器IP地址");
clientThread.start();
}
@Override
protected void onDestroy() {
super.onDestroy();
serverThread.interrupt();
}
}
```
在服务器端启动后,等待客户端的连接请求。当客户端连接成功后,服务器可以接收到客户端发送的消息。然后,客户端向服务器发送一条消息,服务器再将消息打印出来。
以上就是一个简单的Android局域网通信的实例。通过这个例子可以实现Android设备之间的数据传输和通信。当然,实际项目中可能涉及到更多的功能和细节,例如连接断开处理、数据格式的定义等。
阅读全文