2009-05-17 3 views
0

Mit C# versuche ich Nachrichten an einen Server zu senden. Ich bekomme jedoch die Socket-Ausnahme 10060, die einen Verbindungstimeout-Fehler bedeutet. Was könnte das Problem sein?Verbindungstimeout

Antwort

0

Könnte sein, dass der Server den angegebenen Port nicht überwacht oder die Verbindung nicht akzeptiert. Dies könnte an einer Firewall (Software oder Hardware) liegen.

Ich würde die Verbindung zum Server mit einer Drittanbieter-App testen. Zum Beispiel, telnet einfach zum Host auf dem gegebenen Port (wenn es eine TCP-Verbindung ist) und sehen, ob eine Verbindung hergestellt ist.

Auf dem Server können Sie netstat -na (unter Windows) ausführen, um festzustellen, ob am Zielport etwas zu hören ist.

+0

entfernte ich die Firewall und bin jetzt eine Socket-Ausnahme immer sagen, die Verbindung war verweigert. Was ist los? – Avik

1

Überprüfen Sie, ob die Anwendung auf Ihrem Server betriebsbereit ist. Überprüfen Sie die Adresse und den Port. Überprüfen Sie, ob Ihre Firewall Verbindungen des Typs zulässt, den Sie herstellen möchten.

Die einfachste Möglichkeit wäre wahrscheinlich zu verwenden Telnet und sehen, ob Sie eine Verbindung herstellen können.

0

Gehen Sie auf die Maschine und verwenden Telnet lokal:

telnet localhost yourportnumberhere 

... wenn Sie nicht bekommen, eine Verbindung, vergessen Sie über Firewalls - Sie hören einfach nicht auf diesem Port.

Wenn es funktioniert, arbeiten Sie Ihren Weg zurück von der Maschine zu einem im Netzwerk und versuchen Sie es erneut. Wenn das fehlschlägt, blockiert es die Firewall auf dem Computer.

Wenn das funktioniert, dann das gleiche auf Ihrem Rechner Telnet-Befehl (oder zumindest die, die den Code ausgeführt wird, der zu verbinden versucht)