如何实现android和服务器长连接

如何实现android和服务器长连接,第1张

1:android客户端通过service在后台通过servreScoket不断的accept,一旦有相应的socket到达,则启动一个线程去处理

2::在线程中处理完返回给我们android客户端的消息或任务之后,要将这种结果表现在ui上,这个步骤方法就比较多了,例如你可以发一个广播来通知ui,或者你可以通过一个static的handler来处理

service中的关键代码

private void startSocketServer()

{

if (!isStarted)

{

try

{

serverSocket = new ServerSocket( 6661 );

isStarted = true;

}

catch (Exception e)

{

// TODO: handle exception

}

// 启动线程处理

AcceptThread acceptThread = new AcceptThread();

acceptThreadstart();

}

}

class AcceptThread extends Thread

{

@Override

public void run()

{

while (isStarted)

{

try

{

// 阻塞接收

Socket client = serverSocketaccept();

initClientSocket( client );

}

catch (Exception e)

{

// TODO: handle exception

}

}

superrun();

}

}

private void initClientSocket(Socket client)

{

boolean isRunnable = true;

/

重置

/

if (cInputStream != null)

{

try

{

cInputStreamclose();

cInputStream = null;

}

catch (IOException e)

{

eprintStackTrace();

}

}

if (clientSocket != null)

{

try

{

clientSocketclose();

clientSocket = null;

}

catch (Exception e)

{

// TODO: handle exception

}

}

String resultStr = "";

clientSocket = client;

try

{

cInputStream = new DataInputStream( clientSocketgetInputStream() );

if (isRunnable)

{

StringBuffer sb1 = new StringBuffer();

int ss;

while ((ss = cInputStreamread()) != -1)

{

sb1append( (char) ss );

}

resultStr = sb1toString();

//发送广播

Intent intent = new Intent();

intentputExtra( "str", resultStr );

intentsetAction( "comjonereceiver" );

sendBroadcast( intent );

// Message msg = ((MainActivity)getApplicationContext())handlerobtainMessage();

// msgobj = resultStr;

// ((MainActivity)getApplicationContext())handlersendMessage( msg );

}

}

catch (Exception e)

{

// TODO Auto-generated catch block

isRunnable = false;

eprintStackTrace();

}

}

  转载 本文介绍如何在安卓手机上搭建http服务器,有时候我们会有这要的需求,那就是想在自己的安卓手机上搭建一个简单的http服务里,有人是想用来玩一玩,有人是想做点研究,还有人有其他的目的,那么我们该怎么在安卓上搭建一个http服务器呢,下面安卓后院 为大家收集整理的一个方法,希望能够帮到大家。

  

  一、准备篇

  

  1将lmptarbz2移动到SD卡根目录(/mnt/sdcard/)

  

  2安装安卓终端模拟器(TerminalEmulatorapk)

  

  (注:lmptarbz2文件可以在本站的安卓工具箱页面下下载)

  

  二、安装篇

  

  1打开安卓终端模拟器

  

  2执行以下命令(root)

  

  $ su

  

  # cd /

  

  # mount -o remount,rw /system

  

  # tar xf /mnt/sdcard/lmptarbz2

  

  # mount -o remount,ro /system

  

  # exit

  

  $ exit

  

  三、启动篇

  

  1打开安卓终端模拟器

  

  2执行以下命令(root)

  

  $ su

  

  # almp-startsh

  

  # exit

  

  $ exit

  

  三、关闭篇

  

  1打开安卓终端模拟器

  

  2执行以下命令(root)

  

  $ su

  

  # almp-stopsh

  

  # exit

  

  $ exit

  

  四、测试篇

  

  1打开网络浏览器(OperaMobile)

  

  2输入以下地址欣赏下您的almp环境吧

  

  http://127001/

  

  http://127001/fileadmin/

  

  或者

  

  http://localhost/

  

  http://localhost/fileadmin/

  

  部分浏览器不支持localhost的解析

  

  五、mysql篇

  

  1mysql用户名为root

  

  2mysql默认密码为空

  

  3mysql用以下地址访问

  

  127001:3306

  

  localhost:3306

  

  4推荐phpmyadmin管理您的mysql数据库

  

  5由于phpmyadmin更新频繁,请自己下载安装

  

  6phpmyadmin默认不支持空密码登陆,请自己修改phpmyadmin的配置文件

  

  7登陆phpmyadmin轻击修改密码为您的mysql超级用户root设置一个密码吧

  

  六、注意篇

  

  php-cgi由本人编译

  

  1手机需要有root权限

  

  2部分rom需要安装busybox

  

  3部分rom需要在命令前面加上busybox

  

  4本环境包中的部分资源来源于网络开源项目

  

  5用Re挂载/system分区为读写可跳过mount命令

  

  6执行终端命令时请忽略命令前的命令提示符$(#)

  

  7本环境包理论上应该工作在Arm5++的安卓手机上

材料/工具:电脑、安卓手机、数据线。

1、首先用数据线链接手机和电脑,此时手机上出现提示“USB连接方式”选择“仅充电”。

2、手机保证数据开关开启“设置”,点击“更多”按钮,接着进入“移动网络共享”,打开“USB共享网络”。

3、切换到电脑,在电脑上点击“打开网络和共享中心”。

4、进入打开网络和共享中心”后,点击左上方的“更改适配器设备”。

5、选定并右击“本地链接”,选择与点击“属性”。

6、点击”共享“中的”Internet链接共享“,勾选”允许其他网络用户通过此计算机的Internet链接“,点击”设置“,在出来的高级设置对话框中,勾选”Web服务器和安全Web服务器“,最后按”确定“。

设置 *** 的步骤

第 1 步:排列关键的 *** 组件

首先,您需要一个 *** 客户端、一个 *** 服务器和一个 *** 路由器。可下载的客户端将您连接到世界各地的服务器,因此各地的员工都可以访问您的小型企业网络。即使工作人员使用公共 Wi-Fi 网络,客户端也可以在智能手机和笔记本电脑等设备上使用。

为了保护和加密所有网络流量,您还需要一个 *** 路由器。许多路由器都内置了 *** 客户端。

第 2 步:准备设备

有时,*** 客户端可能会与其他客户端发生冲突,或无法正常工作。在设置 *** 之前准备好您的网络系统是一个好主意,这样您就可以避免以后出现问题。

第一步,卸载您不需要的任何现有 *** 客户端软件。理论上,*** 客户端应该能够很好地协同工作,但竞争客户端也可能是问题的根源,因此最好将它们删除。

这也是考虑网络配置的好时机。如果您(搭建***的步骤)计划为将通过多种方式访问​​在线资源(例如 Wi-Fi、4G 调制解调器和有线连接)的工作人员安装 ***,您可能需要花更多时间来配置 *** 客户端。通过拔掉未使用的设备来简化网络会有所帮助。

第 3 步:下载并安装 *** 客户端

启动并运行您的 *** 的最简单方法是从您的 *** 提供商安装客户端。但是,他们可能不会为您需要的每个平台(例如 Windows、iOS 和 Android)提供软件。即使他们不这样做,最好先安装他们提供的内容,然后确认您的 *** 帐户运行正常。

在您的 *** 提供商的网站上查找“下载”页面。您还应该(搭建***的步骤)为您的员工使用的移动设备下载应用程序,因为您需要保护尽可能多的设备的连接。

如果您安装的初始客户端立即可用,那么您可以联系 *** 提供商了解其他平台的客户端。如果您根本无法登录,则可以将该信息传递给 *** 提供商的支持团队。

第 4 步:查找设置教程

如果出于某种原因,您的 *** 提供商没有为您的企业使用的设备提供软件,请查看提供商的网站以获取有关手动设置的指南。希望您能找到所需的文档。如果没有,请搜索使用相同设备的其他提供商的设置指南。

例如,如果您的企业使用 Chromebook,您(搭建***的步骤)可以搜索专门针对这些设备的教程。

第五步:登录***

安装 *** 客户端应用程序后,就可以输入登录信息了。通常,用户名和密码将是您在与 *** 提供商注册时使用的用户名和密码,尽管有些公司要求您为 *** 客户端本身创建单独的登录名。

登录后,*** 应用程序通常会连接到离您当前位置最近的服务器。

步骤 6:选择 *** 协议

*** 协议决定如何在您的计算机和 *** 服务器之间路由数据。一些协议有助于提高速度,而另一些协议有助于提高数据隐私和安全性。

开放式***

这是一个开源协议,这意味着您可以(搭建***的步骤)查看其代码。Open*** 也正迅速成为行业标准。

L2TP/IPSec

第 2 层隧道协议是另一种流行的协议。它具有强大的安全保护,通常与 IPSec 协议捆绑在一起,IPSec 协议对通过 *** 发送的数据包进行身份验证和加密。

SSTP

安全套接字隧道协议与 Microsoft 操作系统完全集成。

PPTP

点对点隧道协议是最古老的 *** 协议之一。但它的使用越来越少,因为有更快、更安全的协议可用。

第 7 步:故障排除

通常,您的 *** 提供商的客户端会立即开始工作。但如果情况并非如此,请尝试以下步骤:

· 关闭并重新打开客户端,然后尝试重新启动您的(搭建***的步骤)设备。

· 如果您正在运行任何其他 *** 软件,请确保您已断开连接,然后将其关闭。

*** 客户端需要适当的软件驱动程序才能正常工作。在某些情况下,您可以单击“修复”设置以重新加载驱动程序。检查设置页面以查看此功能是否可用。

如果您在登录时遇到问题,请仔细检查您的登录凭据。有些 *** 客户端会生成自己的登录名,有些则让您选择自己的登录名。

确保您使用正确的登录名,如有必要,请阅读您(搭建***的步骤)可能从提供商那里收到的任何欢迎电子邮件或快速入门指南。

您也可以尝试切换服务器。选择连接到靠近您的物理位置的其他服务器。

另一种选择:尝试使用不同的协议进行连接,假设 *** 客户端允许您更改它们。例如,您可以使用 TCP 使用 Open***,然后切换到 L2TP 和 PPTP。

如果您仍然遇到问题,其他软件程序可能是罪魁祸首。有时,防火墙或安全软件可能会中断 *** 连接。您可以暂时禁用可能导致问题的软件 - 只需确保在连接后将其重新打开,以免关键业务系统容易受到攻击。

第 8 步:微调连接

一旦您掌握了基础知识,就该进行改进了。确保您应用到 *** 的设置适合​​您的业务需求。

例如,决定您是否希望 *** 在人们启动设备后立即运行。如果您始终需要 *** 保护,这可能是个好主意——例如,如果大多数人在办公室外工作。但是,如果您认为您只需要偶尔使用 ***,您可以将其设置为仅在需要时启动,从而释放网络资源以供其他用途。

另一个微调选项是选择常用服务器作为您的(搭建***的步骤)默认服务器或“收藏夹”。这可以为您节省一些时间,因为您和其他员工每次连接时都不必搜索首选服务器。

如果您的 *** 提供商提供,您可能还想打开“终止开关”。终止开关旨在防止设备在 *** 断开连接时发送或接收数据。

安卓手机通过USB连接电脑,需要先打开usb调试

下载相应耐如手机的驱动程序并安装到电脑上

用usb线把销数手机和电脑连接起来,并勾选允许访问亏亩首设备数据

先说明服务器是什么,如果是WEB服务器或是FTP服务器的,只需在内网上拉一根网线接入无线路由器,手机通过WIFI访问内网服务器。

如果是手机通过外网访问内网的服务器的话,则要有固定IP,通过固定IP所设置比如交换机NAT映射到内网服务器的内网IP。手机只需在浏览器上输入你的外网固定Ip就可以访问内网服务器了

希望采纳!

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何实现android和服务器长连接

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情