Hi Leute,
ich experimentiere gerade etwas mit TCP Sockets und habe Eine Server- und eine Clientanwendung geschrieben. Der Server sendet eine Nachricht
und der Client soll diese empfangen, was allerdings nicht funktioniert. Ich weiß nicht ob dsa Problem auf Server oder auf Clientseite liegt.
Ich poste einfach mal den Code, da dieser wirklich nicht lang ist. Ich hoffe ihr könnt mir helfen.
Danke schonmal im Vorraus
Server:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24:
| Console.WriteLine("Starting Server..."); Socket listener = new Socket(AddressFamily.InterNetworkV6, SocketType.Stream, ProtocolType.Tcp); IPEndPoint ip = new IPEndPoint(IPAddress.IPv6Any, 4242); listener.Bind(ip); listener.Listen(20); Console.WriteLine("Now listening..."); while (true) { Socket user = listener.Accept(); Console.WriteLine("user connected");
using(NetworkStream str = new NetworkStream(user, false)) using(StreamWriter writer = new StreamWriter(str)) { writer.WriteLine("Hi"); } Console.WriteLine("Message sent"); }
|
Client:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| IPHostEntry hostDnsEntry = Dns.GetHostEntry("localhost"); IPAddress serverIp = hostDnsEntry.AddressList[0]; Socket serverSocket = new Socket(serverIp.AddressFamily, SocketType.Stream, ProtocolType.Tcp); serverSocket.Connect(serverIp, 4242);
Console.WriteLine("Connected"); string Data;
using (Stream tststream = new NetworkStream(serverSocket, false)) using (StreamReader reader = new StreamReader(tststream)) { Data = reader.ReadToEnd(); } Console.WriteLine(Data);
|
Wenn ich mit dem Client zu Server "time-nw.nist.gov" Auf Port 13 verbinde funktioniert es