电脑和手机互通!!!

工具箱 2004-05-03 09:45:03
要写一个手机与电脑互通的软件
比如:可以通过电脑写短信并发送,或者用手机控制电脑的开关,等等。。
请问 各位大虾
要写这样的软件该怎样着手呢?
有哪些步骤?
谢谢!!
...全文
923 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
工具箱 2004-09-30
  • 打赏
  • 举报
回复

up
?????
willstar 2004-09-21
  • 打赏
  • 举报
回复
up
soil 2004-08-27
  • 打赏
  • 举报
回复
http://ms.mblogger.cn/soil/category/1984.aspx
zhangjiechen 2004-08-24
  • 打赏
  • 举报
回复
我用J2ME实现了用手机控制电脑开关机很简单,在电脑上开一个WEB服务器,用HTTP协议使手机连接互联网访问电脑,WEB服务器解析手机命令就可以控制本机,服务器端用JSP/Servlet或ASP都可以。
主要代码可以给你
手机端
package controlitem;

import java.lang.*;
import java.io.*;
import java.util.*;
import javax.microedition.io.*;


public class ConnectionManager
{
private HttpConnection con;
private InputStream is;
private OutputStream os;
private String baseurl = "http://10.1.49.51:7001/Mobile_Server/servlet1?cmd=";
private String ua;
private String locale;
private String msg;
private String user;
private String password;

public ConnectionManager()
{
System.out.println("初始化ConnectionManager");////////////////////
StringBuffer sb = new StringBuffer(60);
sb.append("configuration/");
sb.append(System.getProperty("microedition.configuration"));

String prof = System.getProperty("microedition.profiles");
System.out.println("prof is " + prof);////////////////////

int i = 0,j = 0;
while((j = prof.indexOf(' ',i))!= -1)
{
sb.append(" Profiles/");
sb.append(prof.substring(i,j));
i = j + 1;
}

sb.append(" Profile/");
sb.append(prof.substring(i));
ua = sb.toString();

System.out.println("sb is" + sb + "ua is " + ua);////////////////////////
locale = System.getProperty("microedition.locale");

System.out.println("locale is" + locale);///////////////////////
if(locale == null)
{
locale = "en-UD";
}
System.out.println("初始化完毕");///////////////////////////
}


byte[] Progress()//处理连接,获得回复信息
{
byte[] data = null;
try
{
open();//打开连接

int n = (int)con.getLength();//响应信息的长度

if(n>0)
{
int bytesread = 0;
data = new byte[n];
for(int offset = 0;offset<n;offset += bytesread)
{
bytesread = is.read(data,offset,n-bytesread);
}
}
}
catch(IOException ioe)
{
System.out.println("error here!!!!!! " + ioe.getMessage());
}
finally
{
try
{
if(con!= null)
{
con.close();
}
if(os != null)
{
os.close();
}
if(is != null)
{
is.close();
}
}
catch(IOException ioe)
{
System.out.print("error here @@@@@@@@@@");
}
return data;
}
}


private void open() throws IOException
{
int status = -1;
String url = baseurl;
String auth = null;
is = null;
os = null;
con = null;

while(con == null)//一直循环直到连接被建立
{
System.out.println("开始打开连接!url=" + url );////////////////////////
con = (HttpConnection)Connector.open(url);

con.setRequestMethod(HttpConnection.POST);
con.setRequestProperty("User-Agent",ua);
con.setRequestProperty("Accpet-Language",locale);
con.setRequestProperty("Content-Type","text/plain");
con.setRequestProperty("Accept","text/plain");

if(user != null&&password != null)
{
con.setRequestProperty("Authorization","Basic ");//此处应该加入64base的用户名和密码 +BasicAuth.encode(user,password)
}

os = con.openOutputStream();//打开输出流会清空所有的响应头

System.out.println("输出流已打开" );////////////////////
os.write(msg.getBytes());//把消息写入输出流
os.close();
os = null;
System.out.println("输出流已关闭");////////////////////

status = con.getResponseCode();//检查返回的状态码

System.out.println("status is " + status);/////////////////
switch(status)
{
case HttpConnection.HTTP_OK://成功
break;
case HttpConnection.HTTP_TEMP_REDIRECT:
case HttpConnection.HTTP_MOVED_TEMP:
case HttpConnection.HTTP_MOVED_PERM:
url = con.getHeaderField("location");//重定向,取得新的目标地址
con.close();
con = null;
break;
default://错误,抛出一个异常
con.close();
throw new IOException("Response status not OK:" + status);
}
}
is = con.openInputStream();//打开输入流。使调用者可以读取响应信息
}


void setMsg(String s)
{
msg = s;
}


void setUser(String s)
{
user = s;
}


void setPassword(String s)
{
password = s;
}

void appendUrl(String append)
{
baseurl += append;
}


}


服务器端(Servlet)

package mobile_server;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;

public class Servlet1 extends HttpServlet
{
String execCmd;

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
String cmd=request.getParameter("cmd");
if(cmd == null)
cmd = "nocmd";
if(cmd.equals("sendinfo"))
{
String ip = request.getParameter("ip");
String info = request.getParameter("info");
if(info == null||info.length()==0) info="";

execCmd = "net send " + ip + " " +info;
System.out.println("execCmd is " + execCmd);
Runtime time = Runtime.getRuntime();
time.exec(execCmd);

}
else if(cmd.equals("rebootComputer"))
{
execCmd = "tsshutdn /reboot";
Runtime time = Runtime.getRuntime();
time.exec(execCmd);
}
else if(cmd.equals("shutdownComputer"))
{
execCmd = "tsshutdn";
Runtime.getRuntime().exec(execCmd);
}
else
{
System.out.print("no cmd!");
}

}


}

Wing Wei 2004-08-22
  • 打赏
  • 举报
回复
具体的关于AT的内容,你可以参看GSM07.07
还有不是手机支持的命令不同,而是手机对整个
命令集合的支持程度不一
而且有些手机还扩展了标准的指令集合
zzhouj 2004-08-19
  • 打赏
  • 举报
回复
可以绕过手机的AT层,直接对手机的UART进行编程,即可实现通过手机操作PC。但是实际应用的情形往往相反,一般是PC控制手机或PDA的操作。
awjx 2004-08-18
  • 打赏
  • 举报
回复
怎么没有人用MSCOMM32.OCX控件呢?
听说是最简单的方法,最近也在研学习。
不会真的都在用WIN API写串口吧!
程序猿KL 2004-08-18
  • 打赏
  • 举报
回复
哪位高手能给出详细的编写流程的相关的程序呢!? 小弟是个初哥希,望大家多多指教!
咚锵 2004-07-28
  • 打赏
  • 举报
回复
太~~~~~~~~~~太~~~~~~~~~~~~~太容易了
jimmyzzbb 2004-07-25
  • 打赏
  • 举报
回复
现在网上的电脑发短信经历的流程一般如下
PTSN ---> MSC --> BSC -->BTS --> MS

至于手机控制电脑主要看电脑是在网络的什么位置,最简单的就是MS经过一个空口协议就可以控制电脑。
MS --->BSS ---> Computer
jacksyh 2004-07-24
  • 打赏
  • 举报
回复
期待更多!
nmywg 2004-07-23
  • 打赏
  • 举报
回复
关注
jimmyzzbb 2004-07-23
  • 打赏
  • 举报
回复
AT 就是 接收终端
AN 就是 接入网
upsoft 2004-07-19
  • 打赏
  • 举报
回复
mark一下~~~
spook_l 2004-07-14
  • 打赏
  • 举报
回复
up
guo_hai13 2004-07-06
  • 打赏
  • 举报
回复
手机通过WAP应用执行计算机关机程序就行了,很简单
nlnc 2004-07-03
  • 打赏
  • 举报
回复
AT指令集,串口通讯,PDU编解码。

软件及手机通讯COM组件:www.fhxysoft.com/download/ydf_1_full.rar

AT指令集:www.fhxysoft.com/download/at.rar

www.fhxysoft.com
工具箱 2004-07-02
  • 打赏
  • 举报
回复
请问AT指令咋个用喃?
kejian 2004-06-09
  • 打赏
  • 举报
回复
如果用解释短信消息的形式控制电脑关机,那你得在电脑终端也得连一台移动设备.
这个好处是可以随时随地关机.

还有就是用蓝牙控制,电脑终端得安有蓝牙适配器.一两百.
不过控制距离最远只有二十米.

蓝牙不用money短信...
9527 2004-05-10
  • 打赏
  • 举报
回复
1中看串口编程和短信相关的几个AT命令就可以了
加载更多回复(8)

790

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 其他移动相关
社区管理员
  • 移动开发其他问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧