求助:tcp连接保持长连接方法!

auto();
console.show();
console.setPosition(10, 600);
//var SERVERIP = rawInput("请输入主机服务器IP地址!");
var SERVERIP = '192.168.10.171'; //这里修改成服务端IP

importClass('java.io.BufferedReader');
importClass('java.io.IOException');
importClass('java.io.InputStream');
importClass('java.io.InputStreamReader');
importClass('java.io.OutputStream');
importClass('java.io.PrintWriter');
importClass('java.net.Socket');
importClass('java.net.UnknownHostException');

//创建Socket对象
var socket = new Socket(SERVERIP,33333);
//根据输入输出流和服务端连接

var outputStream = socket.getOutputStream(); //获取一个输出流,向服务端发送信息
var printWriter = new PrintWriter(outputStream); //将输出流包装成打印流
//printWriter.print("服务端你好,我是DcrClub,请求连接...");

var fsnr = ["0x3a","0x00","0x00","0xff","0x00","0x01","0xc4","0x23"]

while (true){
printWriter.print(fsnr);

printWriter.flush();
//socket.shutdownOutput();//关闭输出流
//socket.shutdownInput();

var inputStream = socket.getInputStream(); //获取一个输入流,接收服务端的信息
//socket.shutdownOutput();//关闭输出流
var inputStreamReader = new InputStreamReader(inputStream); //包装成字符流,提高效率
var bufferedReader = new BufferedReader(inputStreamReader); //缓冲区
var info = "";
while(true){
//toast("进入循环");
temp = bufferedReader.readLine();
if(temp != null) {
info += temp;
log("回复信息:"+info);
break;
}
sleep(200);
}
sleep(200);
}

//关闭相对应的资源
bufferedReader.close();
inputStream.close();
printWriter.close();
outputStream.close();
socket.close();

这样连接只能短连接发送!!

想要做成长连接收发的 应该怎么做呢?

有木有人看到😱
大神回复又删了!!
肿么啦!!

给我个思路也行啊🙃

。。。
自定义end字符串。
while(true){
//toast("进入循环");
temp = bufferedReader.readLine();
if(temp||temp != "SFO") {
info += temp;
}else{
log("回复信息:"+info);
break;
}
}
}

最后由 卢某某 编辑

。。。
自定义end字符串。
while(true){
//toast("进入循环");
temp = bufferedReader.readLine();
if(temp||temp != "SFO") {
info += temp;
}else{
log("回复信息:"+info);
break;
}
}
}

谢谢大手子!😜
但是 还不行!

我用网络调试助手 创建tcp服务器后 用js连接 更改了这段还是反不回数据!!!

@皓月求助:tcp连接保持长连接方法! 中说:

谢谢大手子!😜
但是 还不行!

我用网络调试助手 创建tcp服务器后 用js连接 更改了这段还是反不回数据!!!

客户端和服务器要有协议啊。你得规定一些东西,双方按照一点的协议来通信。
我给的那个例子需要服务器在发送完数据之后再发送SFO字符串

最后由 卢某某 编辑
  • 7
    帖子
  • 1958
    浏览

与 Auto.js 的连接断开,我们正在尝试重连,请耐心等待