gpt4 book ai didi

java - NodeJs : how to keep Node server-> Java client connection open

转载 作者:太空宇宙 更新时间:2023-11-04 12:05:47 25 4
gpt4 key购买 nike

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 个问题

  1. 删除 client.end() 不会向调度程序发送任何消息
  2. 让 client.end() 在第一个周期(5 秒)中工作,但是当它运行第二个周期(第 6 秒)时,我遇到错误 Java.net.SocketException:套接字已关闭。

如何才能不结束 Node 中的套接字并能够向调度程序发送消息?

最佳答案

您查看过 net 模块的 allowHalfOpen 选项吗?

var client = net.connect({port: 4567, allowHalfOpen: true},function() {
//etc
};

关于java - NodeJs : how to keep Node server-> Java client connection open,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40385572/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com