0
我想從我的Java類連續數據發送到Node.js.But我無法趕上他們all.I只收到第一個從Java發送..這裏是我的Java類和NodeJs.I想要製作代碼,以便NodeJs能夠從Java Class捕獲連續的數據。如何將Java Class中的連續數據傳遞給NodeJs?
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.Socket;
import java.io.*;
class NodeCommunicator {
public static void main(String[] args) {
try {
Socket nodejs = new Socket("localhost", 8080);
Thread.sleep(100);
for(int i=1; i< 100; i++){
Thread.sleep(500);
sendMessage(nodejs, i + " ");
System.out.println(i + " has been sent to server");
}
} catch (Exception e) {
System.out.println("Server Closed..Something went Wrong..");
e.printStackTrace();
}
}
public static void sendMessage(Socket s, String message) throws IOException {
System.out.println("In SendMesage"+message);
s.getOutputStream().write(message.getBytes("UTF-8"));
s.getOutputStream().flush();
}
}
Node.js的
var javaPort = 8080;
var javaServer = require('net').createServer();
var WebSocketServer = require('ws').Server
, wss = new WebSocketServer({port: 90});
var fileData ;
console.log('=====================================================');
console.log('Node.js/Java Communication Module');
console.log('=====================================================');
javaServer.on('listening', function() {
console.log('Server is listening on ' + javaPort);
});
javaServer.on('error', function (e) {
console.log('Server error: ' + e.code);
});
javaServer.on('close', function() {
console.log('Server closed');
});
javaServer.on('connection', function (javaSocket) {
var clientAddress = javaSocket.address().address + ':' + javaSocket.address().port;
console.log('Java ' + clientAddress + ' connected');
var firstDataListenner = function (data) {
fileData = data;
console.log('Received namespace from java End: ' + data);
//javaServer.send(data);
javaSocket.removeListener('data', firstDataListenner);
}
javaSocket.on('data', firstDataListenner);
javaSocket.on('close', function() {
console.log('Java ' + clientAddress + ' disconnected');
});
});
javaServer.listen(javaPort);
您是否應該在第一次獲取數據時真正刪除數據偵聽器? –
謝謝@RogerLindsjö..它的作品 –