Java和Javascript套接字问题
我正在开发一个chrome扩展,它应该使用套接字与Java编写的进程进行通信。 为了进行测试,我尝试了以下代码,但输出字符串Ping除外 Java代码是: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
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库,除非您这样做是为了学习