Android socket原理代码
时间: 2023-12-14 11:03:57 浏览: 89
Android中的Socket编程主要是基于Java的Socket API进行的,具体原理与Java Socket编程类似。
Socket是一种网络通信协议,用于实现网络之间的通信。在Android中,Socket主要使用TCP/IP协议实现网络通信。
下面是一个简单的Android Socket代码示例:
```java
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.net.UnknownHostException;
public class SocketClient {
private static final String SERVER_IP = "192.168.1.100"; // 服务器IP地址
private static final int SERVER_PORT = 9000; // 服务器端口号
public static void main(String[] args) {
try {
Socket socket = new Socket(SERVER_IP, SERVER_PORT); // 创建Socket对象
OutputStream os = socket.getOutputStream(); // 获取输出流
InputStream is = socket.getInputStream(); // 获取输入流
// 发送数据
String info = "Hello, Server!";
os.write(info.getBytes());
os.flush();
// 接收数据
byte[] buffer = new byte[1024];
int len = is.read(buffer);
String result = new String(buffer, 0, len);
System.out.println("Server response: " + result);
os.close(); // 关闭输出流
is.close(); // 关闭输入流
socket.close(); // 关闭Socket对象
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
这个示例是一个简单的Socket客户端程序,它通过指定服务器的IP地址和端口号来连接服务器,并发送一段数据给服务器。然后,等待服务器的响应,并将响应数据输出到控制台上。
需要注意的是,在Android中,Socket编程需要在一个独立的线程中进行,否则会阻塞UI线程,导致程序无法响应用户操作。同时,在使用完Socket之后,需要及时关闭相应的输入输出流和Socket对象,以释放资源。
阅读全文