Ik ben bezig met een php script te schrijven die uit een bestaande server (in delphi) gemaakt statistieken haalt.
Het delphi gedeelte is helemaal werkend (getest met client in delphi gemaakt)
Alleen nu zit ik met het probleem dat als ik online een script heb ik moet pollen of er data is maar niet wil wachten tot er data is maar ook door wil gaan met het terug sturen van mogelijk ingegeven gegevens.
Dus...
Als ik stuur 'STATS ABC' dat ik dan de stats binnen krijg maar als ik onder tussen ook wil zorgen dat de server iets gaat printen ik ook al 'PRINT ALL' kan sturen zonder te moeten wachten totdat de server zijn data heeft verwerkt en naar mij heeft gestuurd....
Het opzetten van de verbinding is geen enkel probleem...
Maar om nu te zorgen dat ik niet ga wachten op data als er geen data is heb ik wat toevoegingen gedaan
Maar nu maakt het niet uit hoeveel data ik stuur hij zal nooit wat lezen... hij komt nooit in dat stukje waar hij de data in een tabel zet en op de output window laat zien.
Iemand enig idee waarom ik dus altijd 0 bytes data recieve?
Is dit wel de goede oplossing? Hoe moet het dan anders........
Uit eindelijk wil ik dit ook voor een soort chat gaan gebruiken maar dan dus niet met deze server maar een ander...
Het delphi gedeelte is helemaal werkend (getest met client in delphi gemaakt)
Alleen nu zit ik met het probleem dat als ik online een script heb ik moet pollen of er data is maar niet wil wachten tot er data is maar ook door wil gaan met het terug sturen van mogelijk ingegeven gegevens.
Dus...
Als ik stuur 'STATS ABC' dat ik dan de stats binnen krijg maar als ik onder tussen ook wil zorgen dat de server iets gaat printen ik ook al 'PRINT ALL' kan sturen zonder te moeten wachten totdat de server zijn data heeft verwerkt en naar mij heeft gestuurd....
Het opzetten van de verbinding is geen enkel probleem...
PHP:
1
2
3
4
5
| $fp = fsockopen ("213.46.4.195", 6666, $errno, $errstr, 30); if ($fp) { ....................................................... fclose ($fp); } |
Maar om nu te zorgen dat ik niet ga wachten op data als er geen data is heb ik wat toevoegingen gedaan
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| $fp = fsockopen ("213.46.4.195", 6666, $errno, $errstr, 30); if ($fp) { while ($fp) { $sockinfo = socket_get_status($fp); if ($sockinfo["unread_bytes"] > 0) { $data = fgets($fp,$sockinfo["unread_bytes"]); $sql = "insert into recv_lines values ('$data')"; $res = mysql_query($sql); // op de output window de data laten zien echo "<script>\n parent.tekst.AddTekst('".$data."');\n </script>"; } $sql = "select * from send_lines"; $res = mysql_query($sql); while ($row = mysql_fetch_array($res)) fputs($fp, $row[inhoud]."\r\n", strlen($row[inhoud]."\r\n")); $sql = "delete from send_lines"; $res = mysql_query($sql); // even wachten tegen server overload sleep(10); } fclose ($fp); } |
Maar nu maakt het niet uit hoeveel data ik stuur hij zal nooit wat lezen... hij komt nooit in dat stukje waar hij de data in een tabel zet en op de output window laat zien.
Iemand enig idee waarom ik dus altijd 0 bytes data recieve?
Is dit wel de goede oplossing? Hoe moet het dan anders........
Uit eindelijk wil ik dit ook voor een soort chat gaan gebruiken maar dan dus niet met deze server maar een ander...
"Als je het kan bedenken, kan het gemaakt worden" Parcye - 14 januari 2002