Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [C#] problema TcpListener tra reti wireless

    Salve a tutti, sto cercando di farmi un mini-server da lasciar girare a casa mia dove sono collegato all'adsl con un router wireless e al quale voglio poter collegarmi dall'esterno, per esempio dal lavoro.
    Nel pc di casa (quindi il "lato server") ho il classico ip statico 192.168.0.2 e il router è stato impostato in modo da fare il port forwarding della porta che voglio usare per il mio server (come esempio scrivo porta = 12345)
    Quindi la situazione del NAT del router è la seguente:

    Rule Application Start Port End Port Local IP Address
    1 _server 12345 12345 192.168.0.2

    in questo modo *in teoria* collegandomi col mio client all'indirizzo pubblico del mio router (per esempio 93.148.123.456) e alla porta 12345 la connessione dovrebbe essere stabilita al mio pc..
    Il problema è che ciò non avviene Se provo il client in locale con indirizzo 127.0.0.1 funziona e funziona anche se provo con l'indirizzo della Lan 192.168.0.2..mentre con l'ip pubblico no
    posto anche il core del server:


    TcpListener TcpList = new TcpListener(12345);
    TcpClient req = TcpList.AcceptTcpClient();
    NetworkStream mess = req.GetStream();
    while ((recv = mess.Read(buff, 0, buff.Length)) != 0)
    { //DoSomething(); }


    mentre il core del client è il seguente:

    TcpClient client;
    client = new TcpClient();
    client.Connect( 93.148.123.456, 12345);
    stream = new NetworkStream(client.Client);
    stream.ReadTimeout = 5000;
    //doSomeElse();

    non penso sia un problema del programma sinceramente, anche perchè altrimenti non funzionerebbe neanche in locale..quindi le mie domande sono queste:
    C'è qualcuno che ha capito cosa sto sbagliando, probabilmente sulle impostazione del router?
    oppure qualcuno sa se le classi TcpListner e Client hanno delle limitazioni per connessioni non edn-to-end?
    oppure ancora qualcuno conosce un set di istruzioni che superi queste eventuali limitazioni?
    qualcuno sa se il NAT di un normalissimo router wireless filtra in qualche modo questo tipo di connessioni?
    Qualcuno sa se è opportuno cambiare le impostazioni del tipo di porta sulle regole del NAT (io ho lasciato ftp come da default e uso come tipo "ftp" per qualsiasi tipo di applicazioni -vedi emule, torrent, ecc- e non ha mai fatto problemi)?

    p.s.: sto operando su Vista e ho impostato manualmente il firewall in modo che non blocchi nè il lato server, nè il lato client


    Grazie a tutti

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Usi FastWeb ?

    Dal lavoro c'e' un firewall che impedisce il collegamento alla porta 12345 ?

    Sempre dal lavoro, hai provato con un comando DOS

    telnet tuo.ip... 12345

    a vedere cosa succede?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    no per il momento sto provando sempre in locale..cioè faccio girare il server sul pc di casa e sempre lì faccio girare anche il client..dall'esterno non ho provato perchè immagino che usare l'ip pubblico equivalga ad accedere dall'esterno..il firewall è stato sbloccato sia per il client che per il server mentre il firewall del router dovrebbe essere bypassato dal NAT

    ho tele2 purtroppo colpa di mio padre xD

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ma se esegui il comando

    telnet

    di cui ti ho detto, cosa succede?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    mi resituisce un errore "impossibile stabilire la connessione con l'host ... sulla porta ecc... ec..."

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Esegui un

    netstat -an

    e vedi cosa ti restituisce (ovviamente con il programma server attivo...)
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    ecco la entry relativa al mio server:

    TCP 0.0.0.0:12345 0.0.0.0:0 LISTENING

    mi scuso per l'attesa ma purtroppo ho avuto una giornata piuttosto piena, grazie a te per l'interessamento

  8. #8
    nessuno ha capito il mistero?

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Nel codice del server, inserisci esplicitamente il tuo IP pubblico ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  10. #10
    no in realtà lo tiro su da una textbox, lo parso col metodo IPAddress.Parse o qualcosa del genere e poi lo metto nella chiamata

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.