Я новичок в node.js и, проработав соответствующие части книги Векслера, я пытаюсь создать простой поток, используя socket.io .
Здесь это мой код сервера node.js:
const port = 3000,
dataIntervalMillis = 5000,
express = require("express"),
app = express(),
crypto = require('crypto');
const server = app
// .get("/", (req, res) => {
// res.send("Run this project by typing in <b>nodemon</b> in the node.js command prompt.");
// })
.listen(port, () => {
console.log(`RNG Server running on port number ${port}`);
}),
io = require("socket.io")(server);
io.on("connection", client => {
console.log("RNG client connected.");
io.emit("New RNG client connection.");
client.on("disconnect", () => {
console.log("RNG client disconnected.");
io.emit("RNG client disconnected.");
});
});
Я создал автономное приложение Java для тестирования потока:
//import java.io.BufferedReader;
import java.io.InputStream;
//import java.io.InputStreamReader;
//import java.io.PrintStream;
import java.net.Socket;
public class SimpleSocketClientExample {
public static void main(String[] args) {
String server = "localhost";
int port = 3000;
try {
// Connect to the server
System.out.println("Connect to server " + server + " on port " + port + "...");
Socket socket = new Socket( server, port );
System.out.println("...connected.");
//BufferedReader in = new BufferedReader( new InputStreamReader( socket.getInputStream() ) );
InputStream in = socket.getInputStream();
System.out.println("Reading byte...");
int b = in.read();
System.out.println("...byte read.");
// Close our streams
if (in != null) {
in.close();
}
if (socket != null) {
socket.close();
}
}
catch( Exception e ) {
e.printStackTrace();
}
}
}
Проблема в том, что этот клиентский код висит на in.read()
строка.
Единственный журнал консоли с сервера - RNG Server running on port number 3000
. В журнале сервера нет RNG client connected
, что означает, что клиент не подключился (или подключился к чему-то еще).
Я тестировал свое приложение node.js с помощью онлайн-тестеров сокетов, и они похоже, тоже не подключаются - это указывает на то, что проблема, вероятно, связана с моим серверным приложением node.js.
Кто-нибудь может посоветовать, что я, возможно, пропустил?