如何实现android和服务器长连接
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就可以访问内网服务器了
希望采纳!
0条评论