關(guān)于NodeJs和JAVA建立socket連接方式
起因
我現(xiàn)在有了需求,使用js作為服務(wù)器端,接收我springboot發(fā)送來的數(shù)據(jù),進行處理,并且返回處理后的內(nèi)容返回,這里就想到到了進行socket連接,以下我對我的思路進行了一個小demo
過程
先不多說了,直接上代碼
這里我先建立的是nodejs之間客戶端與服務(wù)端的連接
nodejs server
const net = require('net'); const fs = require('fs') const server = net.createServer(function (connection) { console.log('客戶端連接成功'); connection.on('end', function () { console.log('客戶端關(guān)閉連接'); }); connection.on('data', function (data) { console.log(data.toString()); }); const content = fs.readFileSync('./111.txt') // 讀取到文件,進行返回 connection.write('服務(wù)器:'+content.toString()); // connection.pipe(connection); // 用來返回收到的消息,也就是服務(wù)端在這里收到的消息原文,再返回給客戶端 }); server.listen(3000, function () { console.log('服務(wù)器監(jiān)聽'); });
nodejs client
const net = require('net'); const client = net.connect({ port: 3000 }, function () { console.log('連接到服務(wù)器!'); }); client.on('data', function (data) { console.log(data.toString()); client.write("我已收到數(shù)據(jù)") client.end(); }); client.on('end', function () { console.log('斷開與服務(wù)器的連接'); });
這里我服務(wù)端是對本地文件進行了讀取,讀取到內(nèi)容進行返回,客戶端接收到消息,會回復(fù)一句,我已收到消息
當(dāng)我們nodejs之間成功建立連接后,我們開始使用Java作為客戶端向node服務(wù)端進行socket連接發(fā)送消息
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(); } }
效果圖:
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
用nodeJS搭建本地文件服務(wù)器的幾種方法小結(jié)
本篇文章主要介紹了用nodeJS搭建本地文件服務(wù)器的幾種方法小結(jié),具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-03-03實例分析nodejs模塊xml2js解析xml過程中遇到的坑
這篇文章主要介紹了實例分析nodejs模塊xml2js解析xml過程中遇到的坑,涉及nodejs模塊xml2js解析xml過程中parseString方法參數(shù)使用技巧,需要的朋友可以參考下2017-03-03