312 switch ($result) { |
312 switch ($result) { |
313 case 0: $sock = open_socket(); |
313 case 0: $sock = open_socket(); |
314 if ($sock != false) { |
314 if ($sock != false) { |
315 socket_write($sock, 'PROFILE PUTS '.$_POST['UUID'], 4096); |
315 socket_write($sock, 'PROFILE PUTS '.$_POST['UUID'], 4096); |
316 for ($i = 1; $i <= 8; $i++) { |
316 for ($i = 1; $i <= 8; $i++) { |
317 if ($_POST['steptime'.$i] > 0) |
317 /* |
|
318 * Use small delays so the remote really sees single lines. |
|
319 * This is a real bug between client/server programming, |
|
320 * the PHP side is line oriented, the server is reading blocks. |
|
321 * So we just send the data slowly and the server just sees lines. |
|
322 */ |
|
323 if ($_POST['steptime'.$i] > 0) { |
|
324 usleep(20000); |
318 socket_write($sock, $_POST['steptime'.$i].','.$_POST['resttime'.$i].','.$_POST['target'.$i], 4096); |
325 socket_write($sock, $_POST['steptime'.$i].','.$_POST['resttime'.$i].','.$_POST['target'.$i], 4096); |
|
326 } |
319 unset($_POST['steptime'.$i]); |
327 unset($_POST['steptime'.$i]); |
320 unset($_POST['resttime'.$i]); |
328 unset($_POST['resttime'.$i]); |
321 unset($_POST['target'.$i]); |
329 unset($_POST['target'.$i]); |
322 } |
330 } |
|
331 usleep(20000); |
323 socket_write($sock, '.', 4096); |
332 socket_write($sock, '.', 4096); |
324 /* Absorb response */ |
333 /* Absorb response */ |
325 while (1) { |
334 while (1) { |
326 $line = socket_read($sock, 4096); |
335 $line = socket_read($sock, 4096); |
327 if ($line === '') |
336 if ($line === '') |