TcpClient i Telnet

0

Witam, napisałem serwer socket w javie. Dowolnym klientem telnet lub klientem socket napisamym w javie loguję się z moim serwerkiem i jest wszytko OK.
Przyszło mi przejść na C# i pojawiły się problemy z pracą na socketach. Co się dzieje?
Nawiązuję połączenie z serwerem socketów na port 6666. Wysyłam coś na serwer ale serwer tego nie rozumie (przynajmniej tak mi się wydaje). Temat wydaje się banalny ale coś przeoczyłem.
Mój kod klienta:

		try
		{
		TcpClient client = new TcpClient();
		IPEndPoint serverEndPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 6666);
		//TcpClient client = new TcpClient("127.0.0.1", 6666);

		client.Connect(serverEndPoint);
		msg("Połączono.");
		NetworkStream clientStream = client.GetStream();

		ASCIIEncoding encoder = new ASCIIEncoding();
		byte[] buffer = encoder.GetBytes("hello");
		clientStream.Write(buffer, 0 , buffer.Length);
		msg("Wysłałem: hello");
		clientStream.Flush();
		clientStream.Close();
		client.Close();
		} catch {
			msg("Brak połączenia");
		} 

// koniec

Także po wysłaniu "hello" serwer powinien coś zrobić a nie reaguje. Przypomnę, że telnet windowsowy i wszystko inne podobne :) gada z serwerkiem bez problemów.

Bardzo proszę o pomoc. Pozdrawiam.
Wojtek

0

OK zrobiłem parę testów. Połączenie jest nawiązywane prawidłowo i "hello" jest wysyłane i odbierane przez serwer.
Problem jest w tym, że serwer odbiera dwie linie. Pierwszą z "hello" a drugą pustą.
Co za "śmieci" wysyłane są po hello ? jak się tego pozbyć po stronie klienta?

0

Twoj klient (prawie) na pewno wyslal dokladnie ciag znakow "hello" i nic poza tym.
To co obserwujesz, moze miec przyczyne w tym, ze po stronie serwera oczekujesz jakichs "linii" - a przeciez wysylasz żywcem znaki, bez zadnych terminatorow czy \n.
Sprawdz dokladnie co zawiera ta dodatkowa "pusta linia". Moze po stronie serwera uzywasz jakegos Read/Get/Line/String, a ono w momencie zerwania polaczenia zwraca pustystring/0lenghtarray/itp i wlasnie <-TO Ty pozniej wyswietlasz sobie sam poprzez jakies stdout/writeline jako "pusta linie", i to Cie w blad wprowadza?

1 użytkowników online, w tym zalogowanych: 0, gości: 1