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

    [C#] Problema connessione con IP remoto al proprio PC

    Ciao a tutti

    Ho una domanda da porre:
    come mai con il mio programma quando mi invio un messaggio (dal mio pc al mio pc) con il mio IP Locale il messaggio arriva correttamente e invece quando uso il mio IP Remoto mi dice che non è possibile stabilire una connessione? :master:

    P.S.
    uso il protocollo TCP/IP e per l'ascolto uso la classe TCPListener.

  2. #2
    sto cercando anche io una risposta a questo...

  3. #3
    Up

  4. #4
    Non riesco a collegarmi a un PC remoto neanche con la classe Socket()

    qualcuno ci illumini please

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ma tu cosa fai? Cosa hai scritto? Che errori hai?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    In pratica io creo una classe Socket( o tcplistener) per l'ascollto lato server, ma quando con il Socket( o tcpclient) tento di collegarmi al server con l'ip remoto nell'apposita porta mi dice che dal host non arriva alcuna risposta

    Il codice ve lo posto domani che ora non c'e' l'ho sotto mano..

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Client e server sono su sistemi diversi posti in una LAN o su Internet?

    Nel secondo caso, il router a cui è collegato il server è correttamente configurato (ip/porta nattata regolarmente)?

    Se provi dal sistema client, da una finestra DOS, a scrivere

    TELNET ipdelserver portautilizzata

    inserendo i parametri corretti, ottieni un errore o no?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  8. #8
    Grazie per l'interessamento

    allora adesso ti posto il codice che estratto a parte:

    Codice PHP:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Net;
    using System.Net.Sockets;
    using System.Threading;



    namespace 
    ConsoleApplication1
    {
        class 
    Program
        
    {
            class 
    TCP
            
    {

                public static 
    string GetRemoteIP()
                {
                    try
                    {
                        
    string whatIsMyIp "http://www.whatismyip.com/automation/n09230945.asp";
                        
    WebClient wc = new WebClient();
                        
    UTF8Encoding utf8 = new UTF8Encoding();
                        
    string requestHtml "";

                        
    requestHtml utf8.GetString(wc.DownloadData(whatIsMyIp));

                        
    IPAddress externalIp null;

                        
    externalIp IPAddress.Parse(requestHtml);

                        
    string string_externalIp externalIp.ToString();

                        return 
    string_externalIp;
                    }
                    catch
                    {
                        return 
    null;
                    }
                }


                public static 
    void accConn()
                {

                    
    TcpListener listener = new TcpListener(IPAddress.Any7000);

                    
    Console.WriteLine(GetRemoteIP());

                    
    listener.Start();

                    
    listener.AcceptSocket();

                    
    Console.WriteLine("Connessione ACCETTATA!!!");
                    
    Console.ReadKey();
                }

                public static 
    void Conn()
                {
                    
    IPAddress remoteIP IPAddress.Parse(GetRemoteIP());
                    
    TcpClient client = new TcpClient();
                    
    client.Connect(GetRemoteIP(), 7000);
                    
    Console.WriteLine("Connessione EFFETTUATA!!!");
                    
    Console.ReadKey();
                }
            }

            static 
    void Main(string[] args)
            {
                
    Thread listener = new Thread(TCP.accConn);
                
    Thread client = new Thread(TCP.Conn);

                
    listener.Start();
                
    Console.WriteLine("Listener avviato");

                
    client.Start();
                
    Console.WriteLine("Client avviato");

                
    Console.ReadKey();
            }
        }

    e con le classi TcpListener e TcpClient ma il risultato è medesimo anche con le classi Socket;

    ora sto "riparando" il sistema per aggiungere TELNET a windows 7,

    mi potresti spiegare il discorso del router dato che io eseguo il test con il mio pc collegato al router collegato a sua volta in internet?

  9. #9
    purtroppo non riesco ad usare il comando TELNET perchè non è installato nel mio windows 7 e bisogna procedere con un ripristino del sistema, cosa che non voglio fare

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da pesapower
    purtroppo non riesco ad usare il comando TELNET perchè non è installato nel mio windows 7 e bisogna procedere con un ripristino del sistema, cosa che non voglio fare
    Ripristino ?? .... Basta usare il Pannello di Controllo ed installare il Telnet Client ... nulla di piu' semplice ...

    Comunque, ho provato io con l'IP e la porta con cui tenti di metterti in collegamento e, adesso, non è raggiungibile.

    Se è perché non è attivo il sistema server, riprovo quando mi dici che lo sarà. Altrimenti, devi configurare il router del sistema server in modo da nattare IP/porta.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.