Java - 如何在不经常ping的情况下接收数据的套接字

时间:2017-04-14 20:24:28

标签: java php sockets tcp udp

好的,所以我有一个apache服务器,其中包含我要发送给Java客户端的文本/数据。问题是数据会经常更改,我不希望客户端经常在服务器上读取数据,因为很明显我不希望持续ping。我知道我可以创建一个客户端套接字,但这需要我的用户端口转发才能访问服务器,这对我的用户不起作用。

我在网上找到的是UDP打孔可能有效或NAT转移,但我找不到任何关于如何用Java做的例子。

  • 如果您有任何疑问,请随时评论:)

1 个答案:

答案 0 :(得分:1)

您可以Recieve Server-Sent Event notifications,服务器发送数据,使用PHP和JS作为示例:

var source = new EventSource("demo_sse.php");
source.onmessage = function(event) {
    document.getElementById("result").innerHTML += event.data + "<br>";
};

PHP:

<?php
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');

$time = date('r');
echo "data: The server time is: {$time}\n\n";
flush();
?>