maddin Geschrieben 31. August 2001 Teilen Geschrieben 31. August 2001 hallöle, ich hätte ganz gerne mal eine auskunft. und zwar kann es sein, das man in eine NamedPipe nur eine bestimmte anzahl zeichen schreiben kann ??? habe hier nämlich ein programm, wo zur zeit ca. 38000 zeichen auf einmal reingeschrieben werden sollen und das läuft nicht ganz zufriedenstellend. die zeichen werden nämlich nur in blöcken 1618 zeichen gelesen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MadMatrix Geschrieben 31. August 2001 Teilen Geschrieben 31. August 2001 Wie erstellst du die Pipe auf beiden Seiten? Bei CallNamedPipe zum Bleistift musst du ja die Puffergröße angeben. Poste doch mal einen Sourcecode-Auszug, vielleicht wird's dann einfacher das problem zu finden. <FONT COLOR="#a62a2a" SIZE="1">[ 31. August 2001 17:29: Beitrag 1 mal editiert, zuletzt von MadMatrix ]</font> Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
maddin Geschrieben 10. September 2001 Autor Teilen Geschrieben 10. September 2001 entschuldigt, das es ein wenig länger gedauert hat. ich habe den code in der firma musste aber letzte woche in die schule *schlaf*. hier aber sind die auszüge: // NamedPipe for Output erzeugen hPipe = CreateNamedPipe("\\\\.\\pipe\\rawdata", //this machine PIPE_ACCESS_OUTBOUND, PIPE_TYPE_MESSAGE | PIPE_WAIT, 10, ANZ_SCANS * REPLY_LEN + 1, ANZ_SCANS * REPLY_LEN + 1, 10000, // timeout in millseconds NULL); // security descriptor // start PipeClient STARTUPINFO startup; GetStartupInfo (&startup); strcpy (startup.lpTitle, "PipeClient"); CreateProcess ( "D:\\Visual Studio Projekte\\PipeClient\\Release\\PipeClient.exe", "", NULL, NULL, TRUE, CREATE_NEW_CONSOLE, NULL, NULL, &startup, &m_hPipeClient ); // connectt to the pipe and wait for the client SetEvent (m_hPipeReady); while ( !ConnectNamedPipe(hPipe, NULL)); m_StatusOfScanning = 2; // Write to Pipe DWORD count; WriteFile(sonar->hPipe, sonar->m_daten, ANZ_SCANS * REPLY_LEN, &count, NULL); // try to connect to the server pipe hPipe = CreateFile("\\\\.\\pipe\\rawdata", // this machine GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, (HANDLE) NULL ); // reading from pipe ReadFile(hPipe, buffer, sizeof(buffer), &count, NULL); ich hoffe, das das ein wenig hilft. achja vielleicht noch ein paar infos ANZ_SCANS = 33 REPLY_LEN = 1158 ANZ_SCANS * REPLY_LEN = 38214 <FONT COLOR="#a62a2a" SIZE="1">[ 10. September 2001 10:00: Beitrag 1 mal editiert, zuletzt von maddin ]</font> Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.