Oppure

Loading
21/05/12 16:08
HackLars
Salve ragazzi, sto facendo un programmino che funge da chat privata tra utenti e si appoggia ad un server di mia proprietà per connettere i vari utenti (utilizzo i net.socket).
Ho due principali richieste:
1) Come posso fare un controllo, al momento della connessione dei nuovi client, che le porte x e y siano aperte sulle loro connessioni (servono per la ricezione di file in simultanea).
2) Vorrei far si che i dati del server siano reperibili unicamente con l'utilizzo del programmino, ovvero che sia impossibile connettersi al server mediante le porte aperte (x e y) con un altro programma.
aaa
21/05/12 17:36
Postato originariamente da HackLars:
1) Come posso fare un controllo, al momento della connessione dei nuovi client, che le porte x e y siano aperte sulle loro connessioni (servono per la ricezione di file in simultanea).


La richiesta non è chiara ...

Parli di connessione ... quindi esiste già un collegamento tra client e server su una coppia di porte, no ?

2) Vorrei far si che i dati del server siano reperibili unicamente con l'utilizzo del programmino, ovvero che sia impossibile connettersi al server mediante le porte aperte (x e y) con un altro programma.


Se l'altro programma "ascolta" su quelle porte, l'unica cosa che puoi farlo è terminarlo. Ma se il server è tuo, non ci possono essere altri processi ... anche questa richiesta non si capisce ...
21/05/12 18:36
HackLars
Si ok mi scuso effettivamente sono stato un po incasinato.
Allora questo server accetta le connessioni di più client e li mette in comunicazione tra loro.
Il server funge da tcplistener sulla porta 1000 diciamo ed il client si connette ad essa e può quindi dialogare tranquillamente col server (che poi funge da tramite tra i vari client), quindi per quanto riguarda queste funzioni "di base" non serve che sulla connessione del client siano aperte delle porte.
Nel momento in cui vado ad inviare un file da un client all'altro, il server man mano che riceve i vari pacchetti dal client mittente, li inoltra al client destinatario ma per fare ciò si appoggia ad un altro tcpclient ed ad un altro networkstream rispetto a quelli utilizzati per la chat, facendo in modo che mentre si inviano file di grosse dimensioni è possibile mantenere inalterata la funzionalità della chat.
Il problema è che per inoltrare il file al client destinatario, esso va a fungere da tcplistener ed è il server a fare da tcpclient nei suoi confronti, per tale scopo è necessario aprire una porta (diciamo la 1001) sulla connessione del client destinatario.
Quello che vorrei fare è un controllo, al momento della connessione iniziale del client al server, che tale client abbia la possibilità di ricevere file (abbia cioè la porta 1001 aperta).

Per quanto riguarda la seconda domanda diciamo che io il programma sul server lo tengo sempre avviato, con un TcpListener sempre attivo sulla porta 1000, è possibile che qualcuno riesca ad intromettersi nel disco rigido del server tramite questa porta aperta? se si c'è un modo per impedirlo?
:love: salvatemi
aaa
21/05/12 23:52
Ultimo

Dovrebbe essere possibile, per impedirlo forse basta un buon firewall
If ok Then GOTO Avanza else GOTO Inizia

22/05/12 14:55
HackLars
per quanto riguarda il primo quesito come risolvo?
aaa