per Socket in einen Stream "schreiben"



  • Hi,
    ich portiere grade einen kleinen IRC Bot von Linux nach WIndows ...
    jetzt gibgs da einen AUsdruck:

    ircfd = fdopen(sd, "r+");
    

    sd ist der Socket.
    d.h.
    hier wird ein stream geöffnet.
    Wie kann ich sowas mit der Windows Api erreichen?? und geht das auch so einfach??

    thx für die Hilfe
    Tommy

    PS: Mir is für den Titel nix bessres eingefallen 🙂





  • Hi,
    ja existieren tut es. Nur lass ich mir von einer Funktion einen SOCKET zurückgeben eben dieses "sd". Compilen tut das ganze auch, nur eben an dieser Stelle verabschiedet sich das Programm. Deswegen wollt ich wissen ob es unter windows überhaupt möglich ist einen Socket wie einen Stream zu behandeln. Trotzdem danke für die Antwort.

    mfg



  • Hallo,

    Dieses Problem habe ich auch. Jedoch habe ich in Tests herausgefunden, dass es bei mir nur unter Windows ME zu dem Programmabsturz kommt. Bei XP beispielsweise funktioniert alles perfekt. Ich habe allerdings auch nur auf Windows ME und XP testen können, wie es mit anderen Systemen aussieht weiß ich nicht.

    Welches Betriebssystem hast du?

    Gruß Entertainer



  • Hi,
    ich benutze auch Windows XP. Kannst du mir vielleicht mal deinen Socket-Code zeigen. Also mein Socket Set Up sieht so aus:

    ...
    if ((sock = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
    	printf("{-} cannot create socket\n");
    	return -1;
        }
        if (connect(sock, (struct sockaddr *)&remote, sizeof(remote)) < 0) {
    	printf("{-} connection refused (%d)\n", port);
    	return -1;
        }
        return (int)sock;
    

    Ich denk beim returnen wird was buggen. Hab aber leider erst jetzt Zeit da mal nachzuschaun.Thx für die Antwort

    mfg
    __Tommy


Anmelden zum Antworten