2012-09-12 20 views
5

Sto costruendo un'applicazione di chat client-server.Programmazione socket su un singolo computer?

Ha sia un server che una parte client.

E 'possibile testare l'applicazione sulla stessa macchina o ho davvero bisogno di due computer diversi per eseguire l'applicazione.

risposta

4

Sì, è possibile testare l'applicazione sulla stessa macchina.

L'indirizzo IP del client e del server in questo caso sarebbe lo stesso. Basta aprire diverse porte per client e server.

+0

Il server ascolterà sempre su una singola porta costante. Tuttavia, ogni client dovrà aprire una porta (che non può essere uguale al server) per comunicare con la porta del server. –

+0

Sì, spiacente ho cancellato il mio commento, quello che intendevo è che di solito le librerie di socket lo fanno automaticamente. Voglio dire, definisci solo la porta peer e lascia che il socket decida casualmente quale porta usare per "uscire". Correggimi se sbaglio – raz3r

0

È possibile testare sulla stessa macchina, basta assicurarsi che il client e il server si colleghino a porte diverse.

1

È possibile eseguire test sulla stessa macchina. Lo sto facendo ora mentre scrivo questa nota. :)

Ovviamente le cose normali che ci si aspetta siano applicabili ... non è possibile testare due ascoltatori sulla stessa porta che si trovano sulla stessa interfaccia, per esempio. Ma un client che si connette a un server nella stessa casella non dovrebbe funzionare.

E, naturalmente, prima del rilascio è necessario eseguire il test anche su macchine diverse. Questo potrebbe esporre bug che una sola casella di configurazione non ha.

1

non è necessario, è possibile collegare lo stesso IP e porta diversa. loro lavoreranno. oppure è possibile installare una macchina virtuale.

0

Sì, è possibile testarlo localmente. È possibile utilizzare l'indirizzo di loopback di 127.0.0.1, il nome del computer o l'indirizzo IP per connettersi.

Se si selezionano i numeri di porta per la propria app, assicurarsi di aver compreso cosa sia ports are used and reserved per altri programmi. Ad esempio, se provi a utilizzare la porta 80, ti imbatterai in conflitti con persone che eseguono server web.

Inoltre, mentre il test locale è ottimo, è necessario assicurarsi di capire come sarà necessario configurare l'app in diverse applicazioni e router firewall.

1

Sì, è possibile.

  • avviare il server e che verrà ascoltare una porta specifica (l'applicazione server sia ha definito uno o è necessario fornire uno ad esso).

  • Avviare l'applicazione client e collegarla alla macchina (127.0.0.1) con il numero di porta che l'applicazione server ascolta.

Potrebbe essere necessario modificare l'applicazione per modificare l'indirizzo IP o il numero di porta se il programma si dispone di non fornire Opzioni riga di comando per specificare loro.

Problemi correlati