【发布时间】:2014-08-18 21:45:28
【问题描述】:
我正在开发一个 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 javascript sockets google-chrome-extension