用WAP手机远程遥控电脑

用WAP手机远程遥控电脑

曾经在报纸和杂志上多次见过讨论远程控制计算机的文章,这些文章中使用的软件大多是基于NetmeetingpcAnywhere的,这些软件固然有它的优点,但他们完全依靠计算机,并且服务器和客户机之间必须足够快的网速。假如坐在公共汽车上去控制家里的计算机,举着笔记本和一个GPRS手机,恐怕就困难的多。有没有一个更加方便的手段去远程控制计算机呢?前几天刚申请了手机的WAP业务,是否能通过手机的WAP浏览器控制计算机呢?我通过WAP网页、ASP和VB实现了这套控制程序。

一、 WAP服务器的架设

要让WAP成为手机和计算机交流的媒介,必选先建立一个WAP服务器。该服务器必须拥有独立的IP地址,建议拥有独立的域名,避免更改IP地址的麻烦,我使用的是花生壳动态域名解析服务。

我所使用的服务器软件是微软的IIS6.0,操作系统是Microsoft Windows Server 2003
在IIS平台创建一个新的MIME类型。先选择WAP站点的属性,然后选择“HTTP头”标签。在“MIME类型”部分,点击“MIME类型”并且新建以下信息:

扩展名 MIME 类型
Wml text/vnd.wap.wml
Wmlc application/vnd.wap.wmlc
Wbmp image/vnd.wap.wbmp
wmlsc application/vnd.wap.wmlscriptc
Wmls text/vnd.wap.wmlscript
Wsc application/vnd.wap/wmlscriptc

完成以后,将会显示以下几种类型:

2009072822491582.gif

现在,你就可以把你的网站内容加到站点文件夹里面了。

二、 WML语言

WML(Wireless Markup Language)是用于WAP的标记语言。WML页面文件的后缀是 *.WML,就象HTML的 *.HTML后缀。XML规定定义了一个规范的XML文件的规格。任何违反这个规定的WML文件会出错。WML文件通常使用XML解释器起来解释。

1、XML程序的基本结构

一个完整的WML语言教程需要好几十页,这些教程可以在网上找到,这里只大致介绍一些必要的知识。我们首先从一个简单的页面开始。

<?xml version=”1.0″?>
<!DOCTYPE wml PUBLIC “-//WAPFORUM//DTD WML 1.1//EN”
“http://www.wapforum.com/DTD/wml_1.1.xml”>
<wml>
<card title=”Fenghao”>
<p>I’m fenghao</p>
</card>
</wml>

此程序在手机上显示“I’m fenghao”。

WML语言是一个很严格的,哪怕一点不同都会导致错误。所有的WML程序必须在文件的开头处声明XML文件类型,包括XML的版本,WML的文档类型、所用规范等。声明形式如下:

<?xml version=”1.0″?>
<!DOCTYPE wml PUBLIC “-//WAPFORUM//DTD WML 1.1//EN”
“http://www.wapforum.com/DTD/wml_1.1.xml”>

WML文档是由“卡片(Card)”和“卡片组(Deck)”构成的,一个Deck是一个或多个Card的集合。当客户端发出请求之后,WML即从网络上把Deck发送到客户浏览器,这是用户就可以浏览Deck内包含的所有Card,而不必从网上单独下载每一个Card,程序中的第一个Card是缺省得可见的Card。

<xml>标签:该标签用于包含和定义WML的一个Deck。它有一个可选的xml:lang属性来制定文档的语言,比如<wml xml:lang=”zh”>表示文档语言为中文。

<card>标签:WML均使用<card>和</card>进行包含和定义。 <card>同时可以包含多个可选的属性,
如:
card id=”name” title=”label” newcontext=”false” ordered=”true” onenterforwand=”url” pmemterbackward=”url” ontimer=”url”>。

2、WAP网页的建设

以下的程序放在网站的首页上,名字是index.wml,手机WAP浏览器将访问者个网页,并要求用户输入执行操作的代码,让后将这个代码传送给resquest.asp。

<?xml version=”1.0″ encoding=”UTF-8″?>
<!DOCTYPE wml PUBLIC “-//WAPFORUM//DTD WML 1.1//EN”
“http://www.wapforum.org/DTD/wml_1.1.xml”>

<wml>
<!– Possible <head> element here. –>
<head>
<meta forua=”true” http-equiv=”Cache-Control” content=”max-age=0″/>
<meta forua=”true” http-equiv=”Cache-Control” content=”must-revalidate”/>
</head>
<template>
<!– Template implementation here. –>
<do type=”prev”><prev/></do>
</template>
<card id=”card1″ title=”wap” newcontext=”true”>
<p>
<b>code:</b><br/>
<input name=”SID” size=”10″ maxlength=”50″ type=”text” format=”*N” emptyok=”true”/><br/>
<br/>
<anchor title=”login”>
<go href=”request.asp” method=”post”>
<postfield name=”code” value=”$SID”/>
</go>Implement!<br/>
</anchor>
</p>
</card>
</wml>

其中,go主要用来定义浏览器需要导航的URL地址。语句<go href=”request.asp” method=”post”>中,href属性用于指定目标URL地址;method属性用于指定表单是以GET的方式还是post的方式递交Postfield通过URL申请向ASP交换数据。<postfield name=”code” value=”$SID”/>中,name属性用于指定传输域的名称,value属性用于定义传输的值。这两个属性均为必选属性。

这里给大家一个建议,现在在网上有不少WML浏览器,例如WinWAP,这些浏览器有的时候是不严格的,有些网页在WinWAP上可以浏览,可在手机上偏偏不行,往往是因为一些细微的差错。所以在调试的时候注意手机和WML浏览器的配合,避免在手机上无法执行时无从下手。

三、 服务器端

request.asp是响应手机请求的服务器端程序,它获得用户输入的操作代码,让后将这个代码写入一个文本文件。

<%@ Language=VBScript %>
<%Response.ContentType=”text/vnd.wap.wml”
code=Request.Form(“code”)
filename=”e:\code.txt”
Set fs = CreateObject(“Scripting.FileSystemObject”)
set ss = fs.CreateTextFile(filename,true)
ss.Write(code)
ss.Close%><?xml version=”1.0″?>
<!DOCTYPE wml PUBLIC “-//WAPFORUM//DTD WML 1.1//EN” “http://www.wapforum.org/DTD/wml_1.1.xml”>
<wml>
<card id=”main”>
<p>
Complete!!!
</p>
</card>
</wml>

程序读取e:\code.txt存入变量Lstr,然后将0写入文本文件(规定0不代表任何操作,避免程序重复执行同一操作)。最后通过判断Lstr内容来决定进行什么操作,此处,利用API函数ExitWindowsEx强行关机(在不同的操作系统中,此API函数有不同的效果,不如在Win9x环境下可以执行关机,重新启动等操作,而在我的Windows2003 Server环境下,只能实现注销,如果将ExitWindowsEx第二个参数设置其他的常量如EWX_REBOOT则不会有任何效果)。

当然,遥控计算机不仅仅是要关机、重新启动,更多的功能还等待去开发!

好了一切都准备就绪,现在开启你的服务器,拿出手机,玩一把手机遥控的计算机!

调试环境:

操作系统:Windows 2003 Enterprice Server

开发环境:Visual Basic 6.0

手机:PHILIPS Fisio 620 Openwave Mobile Browser 5.0.1.11 WAP Edition

运营商:中国移动(动感地带) 中国网通LAN宽带

域名解析:花生壳2.0

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/110882.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java大数据方向学习路径导航[通俗易懂]

    Java大数据方向学习路径导航[通俗易懂]Java8各技术栈笔记与相关文档链接

    2022年5月27日
    29
  • vs2012ultimate密钥_visual studio 2012产品密钥

    vs2012ultimate密钥_visual studio 2012产品密钥VisualStudioExpress2012forWindowsDesktopKEY:MMVJ9-FKY74-W449Y-RB79G-8GJGJMicrosoftVisualStudioExpress2012forWebKEY:VX3VY-8GCVT-KJQCY-RQ99X-MCF2RVisualStudioExpress

    2022年10月14日
    1
  • 字符串放到数组里面_shell dash使用数组

    字符串放到数组里面_shell dash使用数组先引用一段资料,出自:http://bbs.chinaunix.net/thread-4125147-1-1.html红色注释为个人添加————————————————————–搬运内容分割线———————————————————–

    2025年7月17日
    2
  • 数仓分层ods_跨境电商国内中转仓

    数仓分层ods_跨境电商国内中转仓一、ods层介绍1、保持数据原貌不做任何修改,起到备份数据的作用。2、数据采用LZO压缩,减少磁盘存储空间。100G数据可以压缩到10G以内。3、创建分区表,防止后续的全表扫描,在企业开发中大量使用分区表。4、创建外部表,在企业开发中,除了自己用的临时表,创建内部表外,绝大多数场景都是创建外部表。二、用户行为数据1、启动日志表ods_start_log//创建启动日志…

    2022年10月6日
    2
  • 免费PDF翻译,不限页数,不限字数,保留排版

    免费PDF翻译,不限页数,不限字数,保留排版可以试试这个网站https://superdoctranslator.com/,使用百度的引擎,排版全部保留,不仅支持word和pptx,还支持图片PDF和扫描件,一个月白嫖少说也得600页PDF,用标准版appid连页数都不限制了,主要是排版效果几乎100%还原。…

    2022年6月3日
    67
  • MQTT服务器搭建与测试图文并茂[通俗易懂]

    MQTT服务器搭建与测试图文并茂[通俗易懂]文章目录一、MQTT概念二、阿里云MQTT服务器搭建1阿里云平台注册及认证2添加平台2创建产品与设备获取MQTT连接相关信息三、MQTT.fx测试1MQTT.fx下载及安装2配置登录信息3从MQTT.fx上报数据到阿里云服务器4阿里云下发数据到MQTT.fx将属性set填入一、MQTT概念MQTT(MessageQueuingTelemetryTransport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的”轻量级”通讯协议,该

    2022年5月2日
    60

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号