Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [JAVA] Più shell per il multithreading

    Ho creato un applicazione Client-Server. Quando il client si connette al server invece di tenerlo occupato, il server crea un thread per la comunicazione con il client e passa alla prossima richiesta di connessione. Essendo server vorrei però visualizzare (uso Eclipse) una sorta di shell per ognuno dei client in modo che posso vedere quale ha richiesto un qualcosa dal server.

    Per come l'ho fatta io il server accetta connessioni ma racchiude nella sua sola "Console" le shell per tutti i client.

    Come ovviare?

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    più che qui lo chiederei al supporto eclipse.
    In ogni caso, puoi usare una shell e hai una shell per ogni eseguibile, qui si parla di programmazione, il tuo è un problema di configurazione dell'IDE
    RTFM Read That F*** Manual!!!

  3. #3
    Utente di HTML.it L'avatar di Dark867
    Registrato dal
    Mar 2010
    Messaggi
    435
    Molto semplice: premi più volte il tasto "play" sul client avviandone più instanze.
    In basso, a fianco alla console, se vedi c'è una sorta di freccetta..premendola puoi switchare tra un client e l'altro oltre che il server...ricordati però di chiudere tutto premendo il quadrato rosso switchando ancora tra le varie console.

  4. #4
    Forse non mi sono spiegato bene. Io avvio il server da dos col comando "java Server", mi servirebbe avere una shell per ognuno dei client che si connette. Esempio: faccio partire il server, la shell è una. Un altro client si connette ed io SERVER visualizzo un'altra shell. col comando del monitor la shell è sempre unica in eclipse anche se è multithreading

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    non diretto.
    Puoi fare che associ un ID ad ogni client e redirezioni l'output su file distinguendo per ID. Da ogni shell fai un cat su file. Dispendioso, non necessario, difficile fare un vero debug.
    Più semplice associare l'id del client al log in modo da distinguere a quale comunicazione ti riferisci ad ogni riga del log
    RTFM Read That F*** Manual!!!

  6. #6
    E se come soluzione istanzio una JFrame in cui metto tutto riguardante le connessioni? Impegnativo ma anche questo più vicino ad una shell

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    dovresti identificare ogni connessione con un id e separare le comunicazioni, ma chi deve esaminare un log di questo tipo non fa mai lavori del genere per diversi motivi:
    1. dispendio inutile di energie, un solo file contro 10000 file di connessione? e come speri di raccapezzarti in quel contesto?
    2. se parli di multithreading, a volte è interessante capire il blocco e non avere separazione fisica dei supporti in cui è contenuto il file aiuta.

    Fai come ti dicevo, usa l'id della connessione per personalizzare la stringa di log e se hai bisogno greppi su quella (che è l'approccio seguito dalla pratica).

    Se poi vuoi fare un lavoro del genere libero, ma è inutile in un contesto client/server
    RTFM Read That F*** Manual!!!

  8. #8
    Ti ringrazio allora per i consigli

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.