【发布时间】:2016-11-03 01:37:52
【问题描述】:
server.js
var net = require('net');
var client = net.connect(4567, 'localhost', function() {
client.write("hello");
client.on('error', function(ex) {
console.log(ex); });
client.end();
});
client.java
server = new ServerSocket(4567);
client = server.accept();
InputStream input = client.getInputStream();
String inputString = MyClass.inputStreamAsString(input);
system.out.println(inputString); //inputString gives me "hello"
client.java 是一个时间调度程序,每 5 秒运行一次,它尝试从 Node 获取文本并打印出来。我不想从 Node 关闭套接字,因此我可以在 client.java 已经运行时向它发送另一条消息。我有 2 个问题
- 删除 client.end() 不会向调度程序发送任何消息
- 让 client.end() 在第一个周期(5 秒)工作,但是当它运行第二个周期(第 6 秒)时,出现错误 Java.net.SocketException: Socket is closed。
我怎样才能不结束我在 Node 中的套接字并能够向调度程序发送消息?
【问题讨论】: