所以我从教程中进行了基本的聊天,一切都很好,除了一件事没有消息。 我的意思是运行客户端的服务器......但是发送按钮或其他什么问题?我和啊是的,server.java安静缓慢,有时冻结。我使用Netbeans的框架选项。
这是客户
<html>
<head>
<script>
window.onload = function(){
addEvListeners();
// This function is to assign ELs to buttons in my HTML
function addEvListeners(){
var target = document.getElementsByTagName("button");
for (i = 0; i <= target.length - 1; i ++){
target[i].addEventListener("click", function(){model();},false);
}
}
function model(){
console.log('yo!');
}
}
</script>
</head>
<body>
<button>Click Me</button>
</body>
</html>
这是服务器
onload
答案 0 :(得分:0)
在客户端代码中,在main方法中,while循环的条件是错误的,你错过了!
来否定它(就像你在服务器上实际做的那样)。所以它应该是while (!msgin.equals("exit"))
。
在服务器代码中,您没有从输入流中读取(实际上是在客户端上执行),因此您错过了while循环中的msgin = din.readUTF();
语句。
这也是为什么服务器很慢,它不断循环并在文本上写一个空文本的原因,而它应该在读取输入流上的下一个输入时被阻止。
您可以对代码进行进一步改进:
System.out.println("log here the "+variable)
调用)获取操作和互动的反馈System.out.err(e);
之类的语句(但是,再次,更好地使用具有正确日志记录级别的日志库)msg_text.setText("");
方法的try块末尾的msg_sendActionPerformed
已足够。