Java和Javascript套接字问题

Java和Javascript套接字问题,java,javascript,sockets,google-chrome-extension,Java,Javascript,Sockets,Google Chrome Extension,我正在开发一个chrome扩展,它应该使用套接字与Java编写的进程进行通信。 为了进行测试,我尝试了以下代码,但输出字符串Ping除外 Java代码是: try { serverSocket = new ServerSocket(PORT_NUMBER); //PORT NUMBER IS 1025 serverSocket.setSoTimeout(0); // no timeout while(true){ S

我正在开发一个chrome扩展,它应该使用套接字与Java编写的进程进行通信。 为了进行测试,我尝试了以下代码,但输出字符串Ping除外

Java代码是:

    try {
        serverSocket = new ServerSocket(PORT_NUMBER); //PORT NUMBER IS 1025
        serverSocket.setSoTimeout(0); // no timeout
        while(true){
            Socket socket = serverSocket.accept();
            BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
            String line;
            while ((line = in.readLine()) != null){
                System.out.println(line);
            }
        }

    } catch (IOException e) {
        System.out.println("PORT CONNECTION PROBLEM");
    }
JS代码如下所示:

var connection = new WebSocket('ws://127.0.0.1:1025');

connection.onopen = function () {
  connection.send('Ping'); // Send the message 'Ping' to the server
};
输出为:

GET / HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Host: 127.0.0.1:1025
Origin: http://www.reddit.com
Pragma: no-cache
Cache-Control: no-cache
Sec-WebSocket-Key: ocm8QWpqeJ2Lps7QJlsoHw==
Sec-WebSocket-Version: 13
Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits, x-webkit-d
eflate-frame
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like
Gecko) Chrome/36.0.1985.143 Safari/537.36
我不仅得到了上面我没有要求的所有数据,而且也没有得到使用套接字发送的消息Ping。
如果有人能告诉我我做错了什么,并告诉我解决方案,我将不胜感激,提前谢谢。

您不是在Java中实现服务器,而是一个简单的类似telnet的服务器

浏览器尝试按照协议建立连接,方法是发送您正在获取的消息,但未收到预期的响应

因此,onopen事件永远不会触发,因为从浏览器的角度来看,它没有建立连接

建议:不要重新发明轮子,使用一些现成的WebSocket Java库,除非您这样做是为了学习