关于NodeJs和JAVA建立socket连接方式
作者:倪风6
这篇文章主要介绍了关于NodeJs和JAVA建立socket连接方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
起因
我现在有了需求,使用js作为服务器端,接收我springboot发送来的数据,进行处理,并且返回处理后的内容返回,这里就想到到了进行socket连接,以下我对我的思路进行了一个小demo
过程
先不多说了,直接上代码
这里我先建立的是nodejs之间客户端与服务端的连接
nodejs server
const net = require('net'); const fs = require('fs') const server = net.createServer(function (connection) { console.log('客户端连接成功'); connection.on('end', function () { console.log('客户端关闭连接'); }); connection.on('data', function (data) { console.log(data.toString()); }); const content = fs.readFileSync('./111.txt') // 读取到文件,进行返回 connection.write('服务器:'+content.toString()); // connection.pipe(connection); // 用来返回收到的消息,也就是服务端在这里收到的消息原文,再返回给客户端 }); server.listen(3000, function () { console.log('服务器监听'); });
nodejs client
const net = require('net'); const client = net.connect({ port: 3000 }, function () { console.log('连接到服务器!'); }); client.on('data', function (data) { console.log(data.toString()); client.write("我已收到数据") client.end(); }); client.on('end', function () { console.log('断开与服务器的连接'); });
这里我服务端是对本地文件进行了读取,读取到内容进行返回,客户端接收到消息,会回复一句,我已收到消息
当我们nodejs之间成功建立连接后,我们开始使用Java作为客户端向node服务端进行socket连接发送消息
java客户端
@Test public void socket(){ Socket socket = null; String Code_Adress = "127.0.0.1"; try { socket = new Socket(Code_Adress,3000); OutputStream outputStream = socket.getOutputStream(); InputStream inputStream = socket.getInputStream(); byte[] bytes = new byte[1024]; outputStream.write("我是JAVA客户端".getBytes()); int len = inputStream.read(bytes); String str = new String(bytes,0,len); System.out.println(str); socket.close(); } catch (IOException e) { e.printStackTrace(); } }
效果图:
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。