我是java HTML5 websockets api的初学者。
我遇到以下情况,任何人都可以告诉我有什么不同之处
session.getBasicRemote().sendText("Hello");
和
System.out.println(hello);
代码是:
@OnOpen
public void onOpen(Session session) {
System.out.println("Connected to endpoint: " + session.getBasicRemote());
try {
session.getBasicRemote().sendText("Hello");
} catch (IOException ex) {
}
}
@OnMessage
public void onMessage(String message) {
System.out.println(message);
}
感谢您的帮助。
答案 0 :(得分:2)
System.out.println("hello");
仅向控制台写入字符串,例如,如果您在Windows环境中运行此字符串,则会导致控制台窗口弹出“Hello”一词。这通常用于调试目的。
sendText
用于向客户端发送字符串,即连接到应用程序的人员,如远程计算机或Web浏览器。
sendText
是您应该使用的。 System.out.println
对浏览器毫无价值。使用System.out.println
打印的任何内容都不会离开您的服务器,也不会被浏览器接收。
答案 1 :(得分:1)
sendText()应该将提供的文本通过websocket推送到侦听该套接字的浏览器。 System.out.println()只是将数据打印到服务器的标准输出(数据不会被推送到监听器)。
答案 2 :(得分:1)
System.out.println(...)仅打印到本地控制台上下文。如果没有本地控制台,您将看不到输出。
session.getBasicRemote()sendText(...)。打印到远程连接。
它们都执行文本打印,但是执行两个完全不同的目标。