0
我试图建立一个聊天室类型的场景,其中服务器将持续监听来自客户端的任何数据包,同时能够检测服务器是否键入任何东西发送到客户端Java服务器监听客户端并同时接收用户输入并发送到客户端
这是我迄今为止所做的,但我不能想到正确的方式来做到这一点,因为现在我的代码会卡住等待在的readLine()
for(;;){
String input=null;
input = inFromUser.readLine();
if (input.equals("exit")){
break;
}else if (!input.equals(null)){
byte[] newText = input.getBytes();
sendPacket = new DatagramPacket(newText, newText.length, IPAddress, 9876);
serverSocket.send(sendPacket);
System.out.println("TO CLIENT(BOB): "+ new String(newText));
}else{
receivePacket = new DatagramPacket(receiveData, receiveData.length);
serverSocket.receive(receivePacket);
realSentence = Arrays.copyOf(receivePacket.getData(), receivePacket.getLength());
String fromHost = new String(realSentence);
System.out.println("FROM CLIENT(BOB): " + fromHost);
}
}
所以我想知道的输入反正是有监听数据报,并同时能够以文字阅读上键入终端并发送给客户端
除了多线程之外,还有其他方法吗? – user1958567