我正在尝试运行 websocket 示例。
我的客户端代码是这样的
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Web Socket Implementation</title>
</head>
<body>
<form>
<input id="textmessage" type="text">
<input onclick="sendmessage();" value="Send Message" type="button">
</form>
<br><textarea id="messageTextArea" rows="10" cols="50"></textarea>
<script type="text/javascript">
var webSocket=new
WebSocket("ws://localhost:8080/SimpleWebSocketProj1/serverendpoindemo");
var messageTextArea=document.getElementById("messageTextArea");
webSocket.onopen=function(message){processOpen(message);};
webSocket.onmessage=function(message){processMessage(message);};
webSocket.onclose=function(message){processClose(message);};
webSocket.onerror=function(message){processError(message);};
function processOpen(message)
{
messageTextArea.value +="Server Connect.." + "\n";
}
function onmessage(message)
{
messageTextArea.value +="Receive from server..-->" + message.data
+"\n";
}
function sendmessage()
{ if(textmessage.vaue!="close")
{
webSocket.send(tesxtmessage.value);
messageTextArea.value +="Send to server..-->" +
textmessage.value +"\n";
tesxtmessage.value="";
}
else
webSocket.close();
}
function processClose(message)
{
webSocket.send("Client disconnceted..");
messageTextArea.value +="Server Disconnect.." + "\n";
}
function processError(message)
{
messageTextArea.value +="Error while Connect..\n";
}
</script>
</body>
</html>
这是我的服务器java代码
package com.ws.test;
import javax.websocket.OnClose;
import javax.websocket.OnError;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.server.ServerEndpoint;
@ServerEndpoint("/serverendpoindemo")
public class ServerEndpoinDemo
{ @OnOpen
public void handleOpen()
{
System.out.println("client is now connected..");
}
@OnMessage
public String handleMessage(String message)
{
System.out.println("receive from client.." +message);
String replymessage="echo " +message;
System.out.println("send to client.." +replymessage);
return replymessage;
}
@OnClose
public void handleClose()
{
System.out.println("client is now disconnected..");
}
@OnError
public void handleError(Throwable t)
{
t.printStackTrace();
}
}
当我试图在服务器上运行时,它显示这样的错误 Eclipse 插件无法与 GlassFish 服务器通信,状态为:CREDENTIAL_ERROR
最佳答案
也许 glassfish 的安装有问题,请确保您的 glassfish 文件路径正确,并且在 eclipse 中有正确的 JDK。 当您创建一个新的动态 Web 项目时,转到:target runtime > glassfish 4 并传递 glassfish 服务器目录:C:..\glassfish4\glassfish 然后在同一屏幕中添加 JDK 而不是 JRE,文件位置为:C:..\Java\jdk1.7.0_51。如果您没有 JDK,请下载它。点击完成,它应该可以工作。
关于java - Glassfish 服务器在启动时显示错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21089991/