nodejs + uniapp 开发安卓APP实现TCP通讯
效果图:nodejs 服务端:var net = require('net');var HOST = '192.168.1.8';var PORT = 9999;let server = net.createServer(function(sock) {console.log('客户端信息: ' + sock.remoteAddress + ':' + sock.remotePort);sock.
·
效果图:

nodejs 服务端:
var net = require('net');
var HOST = '192.168.1.8';
var PORT = 9999;
let server = net.createServer(function(sock) {
console.log('客户端信息: ' + sock.remoteAddress + ':' + sock.remotePort);
sock.setTimeout(3000);
sock.on('connect', function(){
console.log('connect');
})
sock.on('ready', function(){
console.log('ready');
})
sock.on('data', function(data) {
console.log('收到的消息: ' + sock.remoteAddress + ': ' + data);
sock.write('你说: "' + data + '"');
});
sock.on('close', function(data) {
console.log('CLOSED: ' + sock.remoteAddress + ' ' + sock.remotePort);
});
sock.on('error', function(err) {
console.log(err);
sock.destroy();
})
sock.on('timeout', function() {
console.log('timeout: '+ sock.remoteAddress + ' ' + sock.remotePort);
sock.destroy();
})
});
server.on('error', (err) => {
console.log(err);
});
now = new Date(new Date().getTime() + 28800000);
console.log(now);
console.log('Server listening on ' + HOST +':'+ PORT);
server.listen(PORT, HOST);
uniapp 客户端:
//tcp通讯
tcptest(str) {
var Socket = plus.android.importClass("java.net.Socket");
var PrintWriter = plus.android.importClass("java.io.PrintWriter");
var BufferedWriter = plus.android.importClass("java.io.BufferedWriter");
var OutputStreamWriter = plus.android.importClass("java.io.OutputStreamWriter");
var BufferedReader = plus.android.importClass("java.io.BufferedReader");
var InputStreamReader = plus.android.importClass("java.io.InputStreamReader");
var InetSocketAddress = plus.android.importClass("java.net.InetSocketAddress");
//连接
var sk = new Socket('192.168.1.8', 9999);
sk.setSoTimeout(5000);
//发送
var outputStreamWriter = new OutputStreamWriter(sk.getOutputStream());
var bufferWriter = new BufferedWriter(outputStreamWriter);
var out = new PrintWriter(bufferWriter, true);
out.print(str);
out.flush();
//接收
var inputStreamReader = new InputStreamReader(sk.getInputStream());
var br = new BufferedReader(inputStreamReader);
var msg = br.readLine();
//console.log(msg);
//给外部返回值
return msg ;
//关闭tcp连接
out.close();
br.close();
},
以下是用 nodejs编写的客户端:
var net = require('net');
var HOST = '192.168.1.8';
var PORT = 9999;
var client = new net.Socket();
client.connect(PORT, HOST, function() {
console.log('CONNECTED TO: ' + HOST + ':' + PORT);
client.write('I am Chuck Norris!');
});
client.on('data', function(data) {
console.log('DATA: ' + data);
client.destroy();
});
client.on('close', function() {
console.log('Connection closed');
});
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)