Hallo Leute,
Ich bin dran über eine TCP Verbindung ein Client Server Programm zu schreiben.
Bis Heute habe ich diese immer beide auf einem PC genutzt. Da funktioniert das ganze auch wunderbar. Wenn ich allerdings auf meinem Laptop oder meinem PC den Server laufen lassen und von dem anderen gerät dann darauf zugreifen will bekomme ich keine Verbindung. Beide Firewalls sind ausgeschaltet und auf meinem Router habe ich den Port auf einen der Geräte weitergeleitet.
Mehr fällt mir nicht mehr ein was ich machen soll...
client
Code:
public Client(string ip, int port)
{
clientSocket.Connect(ip, port);
serverStream = clientSocket.GetStream();
w = new BinaryWriter(serverStream);
Thread _reciev_data = new Thread(receive_data);
receive = true;
_reciev_data.Start();
}
server
Code:
public Server(int port)
{
search_Clients = true; // bool für die schleife wo er clients sucht
serverSocket = new TcpListener(port);
server = new Thread(server_start);
server.Start();
}
fals der thread noch interesant ist
Code:
private void server_start()
{
ConnectedClients = new List<Server_Receivdata>();
//CClients = new List<Connected_Clients>();
serverSocket.Start();
int count = 0;
while (search_Clients)
{
try
{
TcpClient Client = serverSocket.AcceptTcpClient();
Server_Receivdata rd = new Server_Receivdata(Client, count);
rd.ClientDisconnected += rd_ClientDisconnected;
rd.start();
ConnectedClients.Add(rd);
client_added cd = new client_added();
cd.Client = Client;
cd.threadNumber = ConnectedClients.Count-1;
cd.clientNumber = count;
count++;
Client_Added(this, cd);
}
catch(Exception e)
{
Console.WriteLine("Error in Client add schleife: " + e.Message + e.Data);
}
}
}
ich lege das projekt noch dazu fals jemand es testen mag
hoffe jemand kennt eine lösung dazu
(
das projekt gameserver sendet positionen die es vom spiel bekommt an alle clients
client-server hab ich immer zum testen benutzt
easy-tcp ist die dll die ich mir dazu geschrieben haben um mir das ganze zu vereinfachen da ist auch der verbindungsaufbau drinnen
)