Datenaustausch via LAN zwischen Linux (Server c) und Windows (Client C#)
-
Hallo zusammen,
ich habe ein Problem beim Datenaustausch zwischen einem Server in C geschrieben und einem Client in C# geschrieben. Zuerst einmal soll der Server nur empfangen, der Client nur senden. Der Client kann allerdings nicht in den Stream schreiben, beim Server entsteht ein Fehler beim verbinden (accept: Bad file descriptor).
Ausschnitt aus dem C Code(Server):conn = accept(s, (struct sockaddr*)&client ,&socksize); if (conn < 0) perror("accept()"); else if(conn > 0) printf("Verbindung hergestellt\n"); n = recv(s,recvBuff,sizeof(recvBuff)-1,0); if(n < 0) printf("Fehler beim empfangen\n");
Ausschnitt aus C# Code (Client):
client.Connect(ipEp); if (client.Connected) Console.WriteLine("Verbunden zu Server"); //Stream erstellen NetworkStream stream = client.GetStream(); while (true) { if (stream.CanWrite) { byte[] msgout = Encoding.ASCII.GetBytes("Hallo Server"); stream.Write(msgout, 0, msgout.Length); } else Console.WriteLine("Schreiben nicht möglich"); stream.Flush(); System.Threading.Thread.Sleep(1000); stream.Close(); }