Articles of сокеты

Постоянный локальный доменный сокет в php

Ответы, которые я нашел на этот вопрос (например, здесь , здесь и здесь ), связаны с pfsockopen (), которые, похоже, ориентированы на нелокальные соединения сокетов. Однако код, который я написал до сих пор, использует php для доступа к серверу C ++ через локальное соединение. Я хочу, чтобы эта связь была постоянной (так что я могу […]

как получить максимальную длину этой функции socket_recv () в PHP

if(socket_recv ( $sock , $buf , 2045, MSG_WAITALL ) === FALSE) { $errorcode = socket_last_error(); $errormsg = socket_strerror($errorcode); die("Could not receive data: [$errorcode] $errormsg <br>"); } echo $buf; из вышеприведенной функции не отображается полное сообщение, поэтому я попытался получить максимальную длину переменной $ buf, как это socket_recv ($ sock, $ buf, strlen ($ buf), MSG_WAITALL) […]

Возможность PHP обрабатывать несколько TCP-соединений?

Мне было интересно, может ли PHP действовать как сервер через порт TCP? Сколько IDLE-соединений может обрабатывать сервер RAM 1 ГБ? Может ли PHP получать много соединений с одним TCP-портом (например, apache на порту 80?) Если у меня есть клиент, подключенный к сокету, открытому PHP, как я могу отправить ему данные? (например, a.php прослушивает порт 5000, […]

Ошибка APN в сценарии сервера

Я получаю эту ошибку в своем php-скрипте, отправляя данные полезной нагрузки. Warning: stream_socket_client() [function.stream-socket-client]: Unable to set private key file `/Applications/XAMPP/xamppfiles/htdocs/test/apn/apns-dev.pem' in /Applications/XAMPP/xamppfiles/htdocs/test/apn/push.php on line 42 Warning: stream_socket_client() [function.stream-socket-client]: failed to create an SSL handle in /Applications/XAMPP/xamppfiles/htdocs/test/apn/push.php on line 42 Warning: stream_socket_client() [function.stream-socket-client]: Failed to enable crypto in /Applications/XAMPP/xamppfiles/htdocs/test/apn/push.php on line 42 Warning: stream_socket_client() [function.stream-socket-client]: […]

Методы мгновенного обмена мгновенными сообщениями PHP

Я хочу сделать IM, чтобы пользователь мог отправлять мгновенные сообщения друг другу на ту же страницу, что и чат. Пользователи могут выбирать, кто может видеть их сообщения. Это для управления задачами. Каков наилучший метод, который я должен использовать. Я использую php. Являются ли php-сокеты полезными для этого? или опрос, Comet, буфер вывода php или таймер […]

Обмен сообщениями Java Socket Java

Я пытаюсь установить связь между страницей PHP и запуском Java-сервера. Просто простая замена строк через сокеты. Это мой код Java для потока, который обрабатывает соединение: InputStream in = clientSocket.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(in)); BufferedWriter out = new BufferedWriter(new OutputStreamWriter(clientSocket.getOutputStream())); String request; if((request=br.readLine())!=null){ System.out.println("got the following request: " + request); out.write(request +"\n"); out.flush(); out.close(); […]

Обнаружение конца HTTP-пакета

Я должен написать PHP-скрипт, который работает как клиент с другим HTTP-сервером. Этот сервер игнорирует заголовок HTTP Connection: Close и сохраняет TCP-соединение открытым, если он не закрыт клиентом. И вот моя дилемма. I (клиент) должен deciede, когда HTTP-запрос / ответ завершен, а затем закройте соединение. Просто используйте: $ data = file_get_contents ($ url); .. не будет […]

fsock: невозможно найти перенос сокетов «http»

Я хочу отправить пост-переменные с помощью fsock, но когда я попробую это: $post_arr = array ("a" => "b"); $addr = 'http://1.2.3.4/confirmation.html'; $fp = fsockopen($addr, 80, $errno, $errstr, 30); if (!$fp) { echo "$errstr ($errno)<br />\n"; } else { $req = ''; foreach ($post_arr as $key => $value) { $value = urlencode(stripslashes($value)); $req .= "&" . […]

Объясните базовый код сервера PHP Socket

Я пытаюсь узнать, как сделать чат с сервером сокетов. Я заметил, что каждый использует тот же код (ripoff из зоны zend-разработчика). Проблема в том, что никто не объясняет, как это работает. Особенно критический код после while (true) { . Это принесет пользу многим, поэтому я надеюсь, что кто-то сможет потратить время и подробно объяснить код […]

скручиваться через уже открытое гнездо

Интересно, есть ли способ использовать curl trhough уже открытый сокет, что-то вроде, адаптируя это: <?php $fp = fsockopen("www.example.com", 80, $errno, $errstr, 30); if (!$fp) { echo "$errstr ($errno)<br />\n"; } else { $out = "GET / HTTP/1.1\r\n"; $out .= "Host: www.example.com\r\n"; $out .= "Connection: Close\r\n\r\n"; fwrite($fp, $out); while (!feof($fp)) { echo fgets($fp, 128); } fclose($fp); […]