gpt4 book ai didi

java - PrintWriter 仅发送第一条消息

转载 作者:行者123 更新时间:2023-11-30 04:59:46 25 4
gpt4 key购买 nike

我遇到了与我类似的问题,但我仍然无法解决这个问题。我正在尝试进行中继聊天。我已经完成了所有的冲洗工作。我什至尝试过自动刷新(使用 println)。但是在我向服务器发送第一条消息之后,后续消息不再发送。我不会关闭打印机。我检查了套接字,是的,它仍然连接,我打印了要发送的消息,似乎没有任何问题。非常感谢您的帮助。

这是客户端代码的一部分:

public void initializeConnection(){
try {
host = InetAddress.getLocalHost();
clientSocket = new Socket(host.getHostAddress(), port);
outToServer = new PrintWriter(clientSocket.getOutputStream(),true);
String message = outMsgArea.getText()+"Hello";
outToServer.println(message);
System.out.println(clientSocket.isConnected());
}
catch(IOException ioEx) {
ioEx.printStackTrace();
}
}

public void actionPerformed(ActionEvent e)
{
if(e.getSource()==quit){
try {
outToServer.close();
clientSocket.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
else if(e.getSource()==button){
if(outMsgArea.getText()!=null || !outMsgArea.getText().equals("")){
/*try {
outToServer = new PrintWriter(clientSocket.getOutputStream(), true);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}*/
String message = outMsgArea.getText()+"Hello";
System.out.println(clientSocket.isConnected());
outToServer.println(message);
outToServer.flush();
//outToServer.println(message);
outMsgArea.setText("");
}
}
}

服务器:

        while(true) {
try {
Socket connectionSocket = servSocket.accept();
Scanner inFromClient = new Scanner(connectionSocket.getInputStream());
String clientSentence = inFromClient.nextLine();
System.out.println(clientSentence);
}
catch(IOException ioEx) {
ioEx.printStackTrace();
}
}
}

最佳答案

我不认为

Socket connectionSocket = servSocket.accept();
Scanner inFromClient = new Scanner(connectionSocket.getInputStream());

应该在 while 循环内。

关于java - PrintWriter 仅发送第一条消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7234759/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com