Hallo,
Ich habe ein problem mit meinen Server Client Chat. Es funktioniert so weit das der Client eine Nachricht an den Server senden kann. Aber bei einem weiterem versuch scheitert es dann wieder. Beide sollen gleichzeitig Server & Client sein kann mir jemand helfen?
(Consolen anwendung)
Code Client:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Net;
using System.Net.Sockets;
namespace Client
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Client wird gestartet...");
Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
IPEndPoint ipEndPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 12345);
Console.WriteLine("Client erfolgreich gestartet.");
Console.WriteLine("Verbinden mit Server...");
sock.Connect(ipEndPoint);
if (sock.Connected)
{
Console.WriteLine("Verbindung mit Server erfolgreich.");
Console.WriteLine("Bitte geben sie ihre Nachricht ein:");
string toSend = Console.ReadLine();
Console.WriteLine("Daten werden gesendet...");
byte[] bufferToSend = ASCIIEncoding.ASCII.GetBytes(toSend);
sock.Send(bufferToSend);
Console.WriteLine("Daten wurden erfolgreich versendet.");
sock.Close();
Console.Read();
}
else
{
Console.WriteLine("Verbindung zum Server konnte nicht hergestellt werden.");
return;
}
}
}
}
Server:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Net;
using System.Net.Sockets;
namespace Server
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Server wird hochgefahren...");
Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
IPEndPoint ipEndPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 12345);
Console.WriteLine("Server erfolgreich hochgefahren.");
Console.WriteLine("Verbinden mit Client...");
sock.Bind(ipEndPoint);
sock.Listen(8);
Socket ClientSocket = sock.Accept();
Console.WriteLine("Verbindung mit Client erfolgreich.");
Console.WriteLine("Server wartet auf Daten...");
byte[] buffer = new byte[64];
int recBytes = ClientSocket.Receive(buffer);
Console.WriteLine("Es wurden [0] Bytes empfangen:", recBytes);
Console.WriteLine(ASCIIEncoding.ASCII.GetString(buffer, 0 , recBytes));
Console.Read();
sock.Close();
}
}
}
danke im voraus Lebendewurst