Проблема программирования сокетов PHP - PullRequest
0 голосов
/ 17 июня 2011

Я разработал сокет-сервер, используя C#, и клиент в PHP, который прекрасно подключается. Мне просто нужно отправить некоторые данные от клиента на сервер.

Я разработал сокет PHPклиент в соответствии с этим Past Stackoverflow Question

<?php
$host="127.0.0.1" ;
$port=9875;
$timeout=30;
$sk=fsockopen($host,$port,$errnum,$errstr,$timeout) ;
if (!is_resource($sk)) {
    exit("connection fail: ".$errnum." ".$errstr) ;
} else {

    echo "Connected";
    }
?>

Наконец, что мне нужно, это отправить данные (байтовый массив) на сервер сокетов с помощью этого PHP-клиента

Ответы [ 3 ]

3 голосов
/ 17 июня 2011

fwrite(), см. Также страницу руководства для fsockopen() для примеров.

$bytesWritten = fwrite($sk, $string);

Если у вас есть массив байтов, перед записью преобразуйте его в строку:

$string = imlode('', $byteArray);
0 голосов
/ 17 июня 2011
$msg = "Your message here";

fwrite($sk, $msg);
// Only if you expect some response
while (!feof($sk)) {
    echo fgets($sk, 128);
}
// Close the stream
fclose($sk);
0 голосов
/ 17 июня 2011

Из документации PHP :

fwrite($sk, 'A message sent to the server');

Или с массивами:

$array = array(4, '3', 'Foo');
fwrite($sk, serialize($array)); //You'll have to deserialize it on C# side.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...