Problem beim Versuch, Nachrichten zu drucken, die von mehr Clients empfangen werdenPhp

PHP-Programmierer chatten hier
Anonymous
 Problem beim Versuch, Nachrichten zu drucken, die von mehr Clients empfangen werden

Post by Anonymous »

Lassen Sie mich das Problem erklären: Ich erstelle ein System, das Sensoren verwendet, um einige Daten zu lesen, und jeder Sensor muss diese Daten an einen Server senden, der jede in einer neue Zeile auf der Seite empfangene Nachricht druckt.class Sensor extends Thread implements ISensor
{
....

public function readValue(){
$this->value = rand( -15 , 40 );
$this->timestamp = date('Y-m-d H:i:s');
}

public function run(){
$number = 0;
$this->socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP) or die("Couldn't create socket");
$this->connectionResult = socket_connect($this->socket, $this->ip, (int)$this->port) or die("Couldn't connect to server");
while($number requestNumber){
$number = $number + 1;
$this->readValue();
$this->sendData();
sleep($this->frequency);
}
socket_close($this->socket);
}

public function sendData(){
$input = $this->toString();
socket_write($this->socket, $input, strlen($input)) or die ("Impossible send message");
}
< /code>

server.php

set_time_limit (300);
$address = '127.0.0.1';
$port = 19000;

$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_bind($sock, $address, $port) or die('Could not bind to address');
socket_listen($sock);

while (true) {
$client = socket_accept($sock);
while (0 != socket_recv($client, $message, 1024, 0))
{
echo $message . "
";
}
socket_close($client);
}
socket_close($sock);
< /code>

Das erwartete Ergebnis war, dass die Clients eine Verbindung zum Server herstellen und Nachrichten senden können (dies funktioniert einwandfrei), während der Server für jede empfangene Nachricht einfach eine neue Zeile druckt. unter) < /p>

< /p>

Zweiter Sensor, während der erste noch lief und dann die Nachrichten so druckt. Wenn ich die while -Loop entferne, drucke der Server einfach eine einzige Nachricht für jede Sensoren.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post