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();
                }
    

Anmelden zum Antworten