[英]Java Socket PrintWriter Works Once Only?
您好,我正在尝试使用套接字进行聊天,当我尝试向客户端发送数据时,它会发送一次,但随后它什么也没收到,然后我发现它的打印机弄乱了,我尝试了其他方法,但它确实做到了即使我尝试从在线教程中复制所有内容,它也只能工作一次! 不能正常工作,应该怎么解决这里的问题? 印刷机应该能够多次发送数据。 我正在JavaFX中开发它。
这是按下按钮时执行的printwriter功能代码:
public void testfunction(ActionEvent event){
//new Thread(new ListenerThread()).start();
//play();
//ObservableList<String> list = FXCollections.observableArrayList("Hello, hello?");
//TabPaneTabSlavesSlavesList.setItems(list);
/*System.out.println("Pc index: " + connectedClients.get(0).getLocalAddress().getLocalHost().getHostAddress());
System.out.println("Pc index: " + connectedClients.get(0).getLocalAddress().getLocalHost().getCanonicalHostName());
System.out.println("Pc index: " + connectedClients.get(0).getLocalAddress().getLocalHost().getAddress());
System.out.println("Pc index: " + connectedClients.get(0).getLocalAddress().getLocalHost().getHostName());*/
// Neina gauti ip ar kanors tokio su sitom funkcijomis FIX: Paimti informatcija ir persiusti su stream.
try {
Random rand = new Random();
int myrand = rand.nextInt(50) +1;
PrintWriter pw = new PrintWriter(connectedClients.get(0).getOutputStream());
pw.println("PINGiamconnected: " + Integer.toString(myrand));
pw.flush();
} catch (Exception e) {
e.printStackTrace();
}
}
这是在线程上运行的侦听器代码:
@Override
public void run() {
// TODO Auto-generated method stub
try {
Socket clientSocket = MainController.serverSocket.accept();
MainController.connectedClients.add(clientSocket);
MainController.NewClientConnected = true;
} catch (Exception e) {
e.printStackTrace();
}
}
这是客户机上也在处理线程的读者:
@Override
public void run() {
try {
BufferedReader in = new BufferedReader(new InputStreamReader(MainController.socket.getInputStream()));
//DataInputStream in = new DataInputStream(MainController.socket.getInputStream());
String line = in.readLine();
System.out.println(line);
} catch (Exception e) {
e.printStackTrace();
}
}
我认为这就是你们需要的一切,我想如果您需要更多的话,请告诉我。 谢谢。
我解决了这个问题,该线程只执行了1次,然后在所有时间内都停止了它的工作– GrimReaper
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.