安卓tcp服务器例子
时间: 2024-01-15 17:01:03 浏览: 58
TCP安卓实例
安卓系统中,可以使用TCP协议来实现服务器端的网络通信。下面我将以一个简单的例子来说明如何在安卓上实现TCP服务器。
首先,需要在AndroidManifest.xml文件中添加网络权限:
```xml
<uses-permission android:name="android.permission.INTERNET" />
```
然后,在MainActivity.java中编写服务器端的代码:
```java
import android.app.Activity;
import android.os.Bundle;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class MainActivity extends Activity {
private ServerSocket serverSocket;
private Socket clientSocket;
private OutputStream outputStream;
private InputStream inputStream;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try {
serverSocket = new ServerSocket(8888); // 创建服务器端的Socket,绑定端口8888
clientSocket = serverSocket.accept(); // 监听客户端的连接请求
outputStream = clientSocket.getOutputStream(); // 获取输出流
inputStream = clientSocket.getInputStream(); // 获取输入流
// 进行数据的读取和写入
byte[] buffer = new byte[1024];
int len;
while ((len = inputStream.read(buffer)) != -1) {
// 读取数据
String data = new String(buffer, 0, len);
System.out.println("Received: " + data);
// 向客户端发送数据
String response = "Hello, Client!";
outputStream.write(response.getBytes());
outputStream.flush();
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (outputStream != null) {
outputStream.close();
}
if (inputStream != null) {
inputStream.close();
}
if (clientSocket != null) {
clientSocket.close();
}
if (serverSocket != null) {
serverSocket.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
```
以上就是一个简单的安卓TCP服务器的例子。在这个例子中,我们创建了一个ServerSocket,并监听客户端的连接请求。一旦有客户端连接成功,就可以进行数据的读取和写入。当网络通信结束后,记得关闭相关的流和Socket连接。希望这个例子能帮助到你。
阅读全文