autojs如何客户端与服务端通信
程序员文章站
2022-03-11 15:27:31
两种方式:socket和websocket。具体区别我也没有深入了解,我只要能搞出来就可以。不过用起来的区别恐怕就是websocket必须得有浏览器,我看到的多数的例子是这样的。websocket是使用koa做后端中转的。websocket参考地址:https://www.jianshu.com/p/9655517dde79先启动后端然后打开html测试通讯效果,然后再启动auto的脚本监听地址就可以了。socket是引入了java的类来启动socket的,前端用了node的net包socket...
两种方式:socket和websocket。具体区别我也没有深入了解,我只要能搞出来就可以。
不过用起来的区别恐怕就是websocket必须得有浏览器,我看到的多数的例子是这样的。
websocket是使用koa做后端中转的。
websocket参考地址:https://www.jianshu.com/p/9655517dde79
先启动后端然后打开html测试通讯效果,然后再启动auto的脚本监听地址就可以了。
socket是引入了java的类来启动socket的,前端用了node的net包
socket参考地址:https://blog.csdn.net/feiyunjs/article/details/95601344
net:
var net = require('net'); var port = 3000; //这里是你的服务端ip地址,因为服务端在手机上也就是你的手机ip地址 var host = '192.168.3.100'; var client= new net.Socket(); //创建socket客户端 // client.setEncoding('binary'); //连接到服务端 client.connect(port,host,function(){ client.write("caonimacaonimacaonimacaonimacaonimacaonimacoaniamldjfalkjdfl\r\n"); //向端口写入数据到达服务端 }); client.on('data',function(data){ console.log('from server:'+ data); //得到服务端返回来的数据 }); client.on('error',function(error){ //错误出现之后关闭连接 console.log('error:'+error); client.destroy(); }); client.on('close',function(){ //正常关闭连接 console.log('Connection closed'); });
因为服务端使用的是readline方法,所以客户端发送的字符必须有最后的\r\n,表示一行结束。才可以读取,否则程序会进入阻塞状态。
这个读取流有没有其他更好的办法我也不是很清楚,但我确实在这个\r\n卡了好久好久。欢迎留言补充其他的操作方式。
其他问题:曾经碰到过服务端没法读取汉字的问题,但是不知道怎么被解决了……可能是setEncoding的问题。
参考项目地址:https://github.com/bikaiqiao/kuaishou-auto
本文地址:https://blog.csdn.net/weixin_44978432/article/details/107912770
推荐阅读
-
Java基于socket实现的客户端和服务端通信功能完整实例
-
C#聊天程序服务端与客户端完整实例代码
-
Android编程之客户端通过socket与服务器通信的方法
-
Java基于socket实现的客户端和服务端通信功能完整实例
-
Python警察与小偷的实现之一客户端与服务端通信实例
-
Android编程之客户端通过socket与服务器通信的方法
-
Android socket实现原理详解 服务端和客户端如何搭建
-
Python通过websocket与js客户端通信示例分析
-
C#使用Socket实现服务器与多个客户端通信(简单的聊天系统)
-
Android socket实现原理详解 服务端和客户端如何搭建