![]() |
System.Net.Sockets: Wie 'Datensätze' aus Stream lesen?
Ich arbeite gerade das erste mal mit dem Socket-Objekt des .NET Frameworks 1.1, und zwar will ich ein Stück PHP-Code nach .NET übersetzen.
Der PHP-Code ist folgender:
Code:
Der Socket wird folgendermassen geöffnet:
// retrieve player list
$this->sendQuery($this->socket,"pl"); // read player info $this->playerList = array(); do { $playerinfo = fscanf($this->socket, "%s %d %d %d %d %d %d %d %d %d %d %d %d %s %s"); list($playerid, $channelid, $receivedpackets, $receivedbytes, $sentpackets, $sentbytes, $paketlost, $pingtime, $totaltime, $idletime, $privileg, $userstatus, $attribute, $s, $playername) = $playerinfo; if($playerid != "OK") { $this->playerList[$playerid] = array("playerid" => $playerid, "channelid" => $channelid, "receivedpackets" => $receivedpackets, "receivedbytes" => $receivedbytes, "sentpackets" => $sentpackets, "sentbytes" => $sentbytes, "paketlost" => $paketlost / 100, "pingtime" => $pingtime, "totaltime" => $totaltime, "idletime" => $idletime, "privileg" => $privileg, "userstatus" => $userstatus, "attribute" => $attribute, "s" => $s, "playername" => $this->stripQuotes($playername)); }// end if } while($playerid != "OK");
Code:
Ich bin so weit dass ich eine saubere Verbindung zum Server aufmachen kann. Ein einzelnes OK kann ich auch schon rauslesen weil ich ja weiss wieviel da kommen muss.
// establish connection to teamspeak server
$this->socket = $this->getSocket($this->serverAddress, $this->serverQueryPort, "", "", 0.3); if($this->socket == false) { return; echo ("No Server"); } else { $this->serverStatus = "online"; Nur, wie kann ich diese while ($playerid != "OK") - gesteuerte Schleife nachbauen? Bzw. genauer: Was ist das .NET - Äquivalent zum PHP-fscanf auf dem Socket? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:00 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz