牙叔教程简单易懂
发送文件效果演示
手机发送文件给模拟器
模拟器发送文件给手机
思路
要实现互传,那么两端必须通信,通信采用什么方式呢?
经测试,
用autojs的nodejs在真机上开起服务,模拟器是可以访问到的;
用autojs的nodejs在模拟器上开起服务,真机访问不到;
因此,我们就不能在模拟器用nodejs开启服务了,因为真机访问不到;
所以,我们只在手机开启服务,模拟器只发送请求;
手机端开启socket服务,
模拟器也用socket与手机通信;
有一个问题要注意,模拟器上,autojs不能运行命令
npmi--no-bin-linkskoa
会报错:initializehoudinifailed
因此,我们写完代码后,要打包以后使用;
打包以后安装到模拟上,可以正常运行
以上是文件互传的通信设计思路,下面来看看代码怎么写:
nodejs的socket例子
服务端
constnet=require("net");constport=;consthostname=".0.0.1";//consthostname=null;//定义两个变量,一个用来计数,一个用来保存客户端letclients={};letclientName=0;//创建服务器constserver=newnet.createServer();server.on("connection",(client)={client.name=++clientName;//给每一个client起个名clients[client.name]=client;//将client保存在clientsclient.on("data",function(msg){//接收client发来的信息console.log(`客户端${client.name}发来一个信息:${msg}`);});client.on("error",function(e){//监听客户端异常console.log("clienterror"+e);client.end();});client.on("close",function(){deleteclients[client.name];console.log(`客户端${client.name}下线了`);});});server.listen(port,hostname,function(){console.log(`服务器运行在: