安卓socket通信连接创建演示(socket通信第一弹)

时间:2024-03-31 19:45:40

欢迎转载,请注明转载自微信订阅号(安卓编程入门进阶)。

百度云原清晰度地址:http://pan.baidu.com/s/1mhS0H8O

安卓的网络连接方式有socket和http两类连接,本节课程介绍socket连接的网络建立过程。课程实例将编写客户端和服务器两个安卓程序,实现客户端连接上服务器网路。为了实现两者之间的互通,客户端程序安装在Android studio的虚拟机上,服务器程序安装在真机(华为荣耀8)。电脑和手机同时连接至同一无线WIFI环境,实现两者在同一局域网互通。由于网络连接和监听需要阻塞线程,因此使用子线程方式。

具体开发步骤:

1、  新建一个安卓工程,命名为LearnServer,新建一个子线程为StartServer。在界面新建一个按钮,用于在手机上开启服务器,在java脚本中为按钮添加监听事件,监听事件启动子线程。

安卓socket通信连接创建演示(socket通信第一弹)

2、子线程中重写run方法,添加服务器端口为11111的监听,并使用accept方法阻塞线程,如果执行了accpet方法,即提示有客户端接入,在控制台输出有客户端接入的提示消息。

安卓socket通信连接创建演示(socket通信第一弹)

3、在Client客户端添加两个按钮,分别用于手动连接服务器和检查连接状态。在java类中为两个按钮添加监听事件,新建子线程类定义并初始化socket变量,重写run方法,新建并初始化变量socketAdress为手机获取到的局域网地址,端口为11111,socket尝试连接的等待时间为3秒。如果超时则自动重试。

安卓socket通信连接创建演示(socket通信第一弹)

4、在AndroidMenifest.xml中为两个程序都添加连接网络的权限,否则程序不能联网。如果使用手机真机在线安装程序,可能不会提醒添加联网权限,可以在在线安装程序之后,在手机的设置下的权限管理中找到对应的应用程序,点开程序手动为程序赋予权限。

5、最终测试结果为手机作为服务器打开开关之后等待客户端连接,电脑虚拟机发起socket连接之后如果能连接成功则输出控制台消息,并且服务器的控制台也会输出“客户端已经接入的消息”。

安卓socket通信连接创建演示(socket通信第一弹)



                                                   更多最新安卓编程资料请关注微信公众号:安卓编程入门进阶                                            

                                                  安卓socket通信连接创建演示(socket通信第一弹)

                                                   更多最新安卓编程资料请关注微信公众号:安卓编程入门进阶