无法通过JavaScript建立WebSocket连接
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了无法通过JavaScript建立WebSocket连接,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2288字,纯文字阅读大概需要4分钟。
内容图文
![无法通过JavaScript建立WebSocket连接](/upload/InfoBanner/zyjiaocheng/660/cf5d414aff1641c385cafe6dab08f4c0.jpg)
每当发出请求时,应用程序都应该更新表.我有以下代码来接收来自服务器的通知.当我运行该应用程序时,它在警报框中显示以下内容,似乎已连接,但当我调用通知类的“发送”方法时,它没有任何改变.
警报1)
windowfunction connect() {
wsocket = new WebSocket("ws://localhost:8080/Notifications");
alert("got connected");
document.getElementById("foo").innerHTML = "arraypv[0]";
wsocket.onmessage = onMessage;
}
警报2)
got connected
的JavaScript
<script type="text/javascript">
var wsocket;
function connect() {
wsocket = new WebSocket("ws://localhost:8080/Notifications");
alert("got connected");
wsocket.onmessage = onMessage;
}
function onMessage(evt) {
alert(evt);
var arraypv = evt;
alert("array" + arraypv);
document.getElementById("foo").innerHTML = arraypv[0];
}
alert("window" + connect);
window.addEventListener("load", connect, false);
</script>
码
@ServerEndpoint("/Notifications")
public class Notifications {
/* Queue for all open WebSocket sessions */
static Queue<Session> queue = new ConcurrentLinkedQueue();
public static void send() {
System.err.println("send");
String msg = "Here is the message";
try {
/* Send updates to all open WebSocket sessions */
for (Session session : queue) {
session.getBasicRemote().sendText(msg);
}
} catch (IOException e) {
e.printStackTrace();
}
}
@OnOpen
public void openConnection(Session session) {
System.err.println("in open connection");
queue.add(session);
}
@OnClose
public void closedConnection(Session session) {
System.err.println("in closed connection");
queue.remove(session);
}
@OnError
public void error(Session session, Throwable t) {
System.err.println("in error");
queue.remove(session);
}
}
马文
<dependency>
<groupId>javax.websocket</groupId>
<artifactId>javax.websocket-api</artifactId>
<version>1.0-b08</version>
</dependency>
要发送消息,我在其中一个函数中使用以下代码
Notifications.send();
控制台仅显示
严重:发送
当我使用FireBug跟踪连接时,它显示
Firefox can't establish a connection to the server at ws://localhost:8080/Notifications.
解决方法:
缺少尾部斜杠
您忘记了斜杠:
您应该连接到
ws://localhost:8080/Notifications/
代替
ws://localhost:8080/Notifications
(请注意,尾部的斜杠非常重要).
另外,您的代码还有更多问题.
WebSocket是-几乎像javascript中的所有异步内容一样.
在您做某事的时候
alert("got connected");
websocket没有实际连接.
请像这样附加一个事件处理程序
wsocket.onopen = function() {
alert("got connected");
};
内容总结
以上是互联网集市为您收集整理的无法通过JavaScript建立WebSocket连接全部内容,希望文章能够帮你解决无法通过JavaScript建立WebSocket连接所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。