konto usunięte

Temat: System.Net.Sockets

Witam wszystkich, mam mały problem z socketami.
Mam taki kod klienta:
try{
int port = Convert.ToInt32(textBox1.Text);
String host = "94.40.27.106";

Socket soc = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);


//Połączenie ze zdalnym hostem
soc.Connect(host, port);



if (soc.Connected)
{

MessageBox.Show("Połączono z :" + host);
}
else
{
MessageBox.Show("Nie połączono ze zdalnym hostem");
}


soc.Close();//zamkniecie połączenia

}
catch (SocketException se)
{

MessageBox.Show("Błąd : " + se.Message);

}



Taki serwera:
Socket soc = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
IPAddress ip = IPAddress.Parse("0.0.0.0");
IPEndPoint ep = new IPEndPoint(ip, 2000);

soc.Bind(ep);

soc.Listen(10);

Socket nsoc = soc.Accept();



NetworkStream nstrem = new NetworkStream(nsoc);

StreamWriter streamw = new StreamWriter(nstrem);

streamw.WriteLine("Polaczony");

streamw.Close();
nstrem.Close();
nsoc.Close();


Ip w kliencie jest ustawione takie jakie ma mój komputer, w serwerze jest 127.0.0.1 bo chodzi o lokalnego kompa. I niestety nie działa, jak podam w kliencie 127.0.0.1 to wszystko jest ok ;/ Port jest ustawiony na 2000. Wie ktoś może, czemu tak jest? Firewall jest wyłączony, a błąd wywala że nie połączył się w określonym czasie, lub nie odpowiedział :(

Oto błąd:

Obrazek
Paweł Cyrklaf edytował(a) ten post dnia 11.08.11 o godzinie 23:37
Marcin S.

Marcin S. Programista, trener
i konsultant w
zakresie .NET/.NET
Cor...

Temat: System.Net.Sockets

Zacznij od diagnostyki. Spróbuj połączyć się zwykłym telnetem na port 2000.
telnet.exe 94.40.27.106 2000

w razie czego gdybyś nie mógł znaleźć telneta:
http://www.porady.org/gdzie-sie-podzial-program-telnet...
Sławomir Marcjański

Sławomir Marcjański Programista /
Ethical Hacker

Temat: System.Net.Sockets

Odtworzyłem Twój program u siebie i wydaje się działać poprawnie bez znaczenia jakie IP podam.
Wygląda na coś w systemie. Spróbuj jak mówi Marcin z telnetem - jak się nie połączy znaczy że coś blokuje dostęp do tego portu

konto usunięte

Temat: System.Net.Sockets

`Piotr Sowa edytował(a) ten post dnia 12.02.12 o godzinie 16:14

konto usunięte

Temat: System.Net.Sockets

Sprawdzałem poprzez telnet.exe i niestety nie może się połączyć. Antywirus i firewall wyłączony był, ale zero efektu.
Sławomir Marcjański

Sławomir Marcjański Programista /
Ethical Hacker

Temat: System.Net.Sockets

Tu chyba pomoc sieciowca potrzebna bardziej.
A spróbuj po prostu
ping 94.40.27.106 - dostaniesz jakąkolwiek odpowiedź?
Patrzyłeś netstat -a czy port w ogóle nasłuchuje?
Możesz spróbować też traceroute

konto usunięte

Temat: System.Net.Sockets

Ping działa, odpowiedź dostaję bez problemu. Sprawdzałem też netstat i pokazuje normalnie:
TCP paweł:2000 paweł:0 NASŁUCHIWANIE

konto usunięte

Temat: System.Net.Sockets

Paweł Cyrklaf:
Ip w kliencie jest ustawione takie jakie ma mój komputer, w serwerze jest 127.0.0.1 bo chodzi o lokalnego kompa.
Na serwerze wpisz IP "0.0.0.0" zamiast "127.0.0.1".

konto usunięte

Temat: System.Net.Sockets

Dałem tak Piotrze i nadal zero efektu :(

konto usunięte

Temat: System.Net.Sockets

I nadal nic :( pokazuje mi normalnie, że port jest otwarty i poprzez netstat i w konfiguracji routera. Łącząc się przez lokalne ip czyli 127.0.0.1 jest elegancko, ale na zewnętrzne IP nie ma szans.Paweł Cyrklaf edytował(a) ten post dnia 26.09.11 o godzinie 14:27

konto usunięte

Temat: System.Net.Sockets

Paweł Cyrklaf:
Dałem tak Piotrze i nadal zero efektu :(

Spróbuj zmienić port.
Providerzy czasami blokują porty wykorzystywane przez malware.

http://www.auditmypc.com/tcp-port-2000.asp

konto usunięte

Temat: System.Net.Sockets

Portów to ja podawałem około 60 i za każdym razem ten sam efekt ;/

konto usunięte

Temat: System.Net.Sockets

Paweł Cyrklaf:
Portów to ja podawałem około 60 i za każdym razem ten sam efekt ;/

Masz możliwość sprawdzenia, czy jakiekolwiek porty serwera, poza 80 i 21, są dostępne z 'internetu' ?
Piotr W.

Piotr W. Programista, SII sp.
z o.o.

Temat: System.Net.Sockets

Paweł Cyrklaf:
Sprawdzałem poprzez telnet.exe i niestety nie może się połączyć. Antywirus i firewall wyłączony był, ale zero efektu.

A sprawdzałeś to zdalnie czy z serwera?

Co się znajduje pomiędzy klientem a serwerem? Z jakiej sieci ten ruch ma wychodzić i do jakiej wchodzić?Piotr W. edytował(a) ten post dnia 27.09.11 o godzinie 23:30

Następna dyskusja:

Poznańska Grupa .NET




Wyślij zaproszenie do