Ho un problema di comunicazione client-server.
Il client riceve la prima stringa con :
socketIn = new Scanner(socket.getInputStream()); String stringa=in.nextLine(); System.out.println(stringa);
e il server invia il server con :
out = new PrintWriter(socket.getOutputStream()); out.println("pippo");out.flush;
Il problema che riceve la prima stringa e la stampa correttamente poi però il server ne invia di successive e poi si blocca aspettando l'invio di istruzioni dal client, ma è come se non le ricevesse. Ha cosa può essere dovuto il problema (lavoro con eclipse) devo fare qualcosa sul client.??
Questo il codice client:
codice:import java.io.BufferedReader; import java.io.IOException; import java.io.PrintStream; import java.io.PrintWriter; import java.net.Socket; import java.util.NoSuchElementException; import java.util.Scanner; import java.util.StringTokenizer; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.*; import java.util.*; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; public class LineClient implements ActionListener { private String ip; private int port; private JButton l; private String input; private Scanner socketIn; private PrintWriter socketOut; private String coloreGiocatore; private String partita; private String tessera; private String delim=":,"; public LineClient(String ip, int port) { this.ip = ip; this.port = port; } public static void main(String[] args) { LineClient client = new LineClient("127.0.0.1", 4747); try { client.startClient(); } catch (IOException e) { System.err.println(e.getMessage()); } } public void actionPerformed(ActionEvent e) { Object source = e.getSource(); if (source == l){ input="Continua"; socketOut.println(input);socketOut.flush(); } } public void startClient() throws IOException { Socket socket = new Socket(ip, port); System.out.println("Connection established"); socketIn = new Scanner(socket.getInputStream()); socketOut = new PrintWriter(socket.getOutputStream()); Scanner stdin = new Scanner(System.in); try { while (true) { String socketLine = socketIn.nextLine();//ricevo inizio partita mainFrame.openMainFrame(); mainFrame.startframe.setVisible(false); riceviInizio(socketLine); socketLine = socketIn.nextLine(); System.out.println(socketLine); } } catch(NoSuchElementException e) { System.out.println("Connection closed"); } finally { stdin.close(); socketIn.close(); socketOut.close(); socket.close(); } }

Rispondi quotando