带有JavaScript客户端的Java套接字服务器

带有JavaScript客户端的Java套接字服务器,javascript,java,Javascript,Java,我组装了一个Java套接字服务器和客户端,可以互相发送消息,我想使用JavaScript作为客户端,但是。。。下面是在托管Java服务器并加载JavaScript客户端时发生的情况 JavaScript: var connection = new WebSocket('ws://127.0.0.1:9005'); connection.onopen = function () { connection.send('Ping'); }; 这将在chrome控制台中打印: 到“ws:/

我组装了一个Java套接字服务器和客户端,可以互相发送消息,我想使用JavaScript作为客户端,但是。。。下面是在托管Java服务器并加载JavaScript客户端时发生的情况

JavaScript:

    var connection = new WebSocket('ws://127.0.0.1:9005');
connection.onopen = function () {
  connection.send('Ping');
};
这将在chrome控制台中打印:

到“ws://127.0.0.1:9005/”的WebSocket连接失败:WebSocket握手期间出错:状态行无效
WebSocket错误[对象事件]

我试图做的是将“Ping”发送到Java服务器,但它发送所有这些内容,而不是断开连接

这将在Java服务器控制台中打印:

面包服务器正在运行。。。
新连接来自:127.0.0.1:51948
127.0.0.1:51948:GET/HTTP/1.1
127.0.0.1:51948:主机:127.0.0.1:9005
127.0.0.1:51948:连接:升级
127.0.0.1:51948:Pragma:无缓存
127.0.0.1:51948:缓存控制:无缓存
127.0.0.1:51948:升级:websocket
127.0.0.1:51948:原点:
127.0.0.1:51948:Sec WebSocket版本:13
127.0.0.1:51948:用户代理:Mozilla/5.0(Windows NT 6.1;WOW64)
AppleWebKit/537.36(KHTML,类似Gecko)Chrome/48.0.2564.103 Safari/537.36
127.0.0.1:51948:接受编码:gzip、deflate、sdch
127.0.0.1:51948:接受语言:en-US,en;q=0.8
127.0.0.1:51948:秒WebSocket键:D4Epyc7LwvPdfeDWG0sY2g==
127.0.0.1:51948:Sec WebSocket扩展:permessage deflate;客户端\u最大\u窗口\u位
127.0.0.1:51948:
错误:软件导致连接中止:recv失败

JavaScript客户端: markstuff.net/socket/-markstuff.net/socket/client.js
Java服务器: pastebin com cdZjUWQp
Java客户端:
pastebin com efEeezcR

听起来像是在尝试将Websocket客户端连接到服务器端的裸套接字侦听器。请注意,Websocket不等于套接字。Websocket是tcp连接之上的协议(就像http是如何在tcp之上)。
因此,您应该将服务器实现更改为Websocket(您可以在internet上找到许多java Websocket库),或者将客户端更改为套接字。

我不知道如何在JS中创建套接字连接,但本主题可能对解决此问题有所帮助:

谢谢!对于任何想知道的人,我让Web服务器处理这个