[an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]
[an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive] (none) [an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive][an error occurred while processing this directive]![]() |
![]() |
![]() |
|||||||||||||||||||||||||
|
|||||||||||||||||||||||||||
![]() |
![]() |
![]() |
Hej alle sammen Nu havde jeg jo stor succes med at spørge om initalisering så jeg vil se om jeg har heldet med mig igen! Jeg har skrevet et program der kalder forskellige funktioner fra main() - det er en server der skal styre / besvare nogle opkald til en mSQL database - hvor den modtager forespørgelser fra klienter via socket og sender svarene tilbage via den samme socket! Problemet er at efter jeg har anvendt den funktion der forespørger i databasen samt sender svarene til klienten så skal jeg sende alle forespørgelser 2 gange til serveren fra klienten (skal trykke enter 2 gange) før den reagere på forespørgelsen, hvilket tyder på at den "hænger" i den funktion der styre mSQL. Programmet er opbygget nogenlunde som følger for overskuelighedens skyld er det stærkt beskåret! //__________________________________________________________________________ ________ int main() { // socket forb. oprettes via inet.. while (1) { laes_klient(fd) // fd = den aktuelle socket forbindelse switch (ch) { case 'A': XXX = YYY; write (fd, XXX, strlen (XXX)); break; // skriver forskellige menuer til klient case 'B': XXX = AAA; write (fd, XXX, strlen (XXX)); break; // skriver forskellige menuer til klient case 'C': XXX = ZZZ ; write (fd, XXX, strlen (XXX)); break; // skriver forskellige menuer til klient case 'D': mSQL(fd, ch); break; // Her kaldes mSQL funktioneren! default: // her bliver der skrevet en fejl tekst til klienten og det er den der kommer hver gang så snart man har været nede i DB før det fungere alle andre funktioner perfekt!! ER DET HER DEN BLIVER "HÆNGENDE??????? } } } //__________________________________________________________________________ ________ int laes_klient(fd) { return svar; exit (laes_klient(fd)); } //__________________________________________________________________________ ________ int mSQL (fd, ch) // fd er socket forbindelsen og ch angiver hvilket resultat man ønsker at se { // laver opslag på databasen while (row < row_A) // row_A er antallet af tubler fra DB / row er aktuel visning laes_klient(fd) // fd = den aktuelle socket forbindelse !! ELLER ER DET HER DEN BLIVER "HÆNGENDE??????? switch (ch) { case '+': // bladre frem I resultater case '-': // bladre tilbage I resultater default: // bladre frem I resultater } return ch; exit (mSQL (fd, ch)); } //__________________________________________________________________________ ________ Er der nogen der har et bud på hvor det går galt samt hvad der kan løse mit problem?? På forhånd tak! Med venlig hilsen Bo Mangor
![]() |
![]() |
![]() |
||||||||||||
|
||||||||||||||
![]() | ||||||||||||||
|
||||||||||||||
![]() |
![]() |
![]() |