安卓socket通信实例_IdeaHub Board设备安卓设置

安卓socket通信实例_IdeaHub Board设备安卓设置

安卓socket通信实例_IdeaHub Board设备安卓设置插图1

1、环境准备

安装Android Studio

连接IdeaHub Board设备

安装adb工具

2、创建一个新的Android项目

打开Android Studio

选择"Create New Project"

填写项目名称、包名、保存位置等信息

选择"Empty Activity"模板

点击"Finish"完成项目创建

3、添加网络权限

打开项目的AndroidManifest.xml文件

在<manifest>标签内添加以下代码:

“`xml

<usespermission android:name="android.permission.INTERNET" />

“`

4、编写服务器端代码

在项目的src/main/java目录下,新建一个名为ServerThread的Java类

编写ServerThread类的代码如下:

“`java

import java.io.IOException;

import java.io.OutputStream;

import java.net.Socket;

import android.os.Handler;

import android.os.Message;

import android.util.Log;

public class ServerThread extends Thread {

private static final String TAG = "ServerThread";

private boolean isRunning = true;

private Socket socket;

private OutputStream outputStream;

private Handler handler;

public ServerThread(Handler handler) {

this.handler = handler;

}

public void run() {

try {

// 创建一个ServerSocket监听8080端口

ServerSocket serverSocket = new ServerSocket(8080);

while (isRunning) {

// 等待客户端连接

socket = serverSocket.accept();

Log.d(TAG, "客户端已连接:" + socket.getInetAddress().getHostAddress());

// 获取输出流,用于向客户端发送数据

outputStream = socket.getOutputStream();

// 向客户端发送数据

outputStream.write("Hello, Client!".getBytes());

outputStream.flush();

}

} catch (IOException e) {

e.printStackTrace();

} finally {

if (outputStream != null) {

try {

outputStream.close();

} catch (IOException e) {

e.printStackTrace();

}

}

if (socket != null) {

try {

socket.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

}

“`

在MainActivity的onCreate方法中,启动ServerThread线程:

“`java

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

// 启动服务器端线程,监听8080端口,接收客户端连接请求并发送数据给客户端

new ServerThread(new Handler()).start();

}

“`

5、编写客户端代码(IdeaHub Board设备)

打开设备的浏览器,输入网址:http://192.168.1.100:8080(IP地址根据实际情况修改)

在浏览器中查看服务器端发送的数据,确认连接成功。

本文来源于互联网,如若侵权,请联系管理员删除,本文链接:https://www.9969.net/7177.html

(0)
上一篇 2024年6月9日
下一篇 2024年6月9日

相关推荐