PHP
WebSockets
खोज…
परिचय
सॉकेट एक्सटेंशन का उपयोग लोकप्रिय बीएसडी सॉकेट्स के आधार पर सॉकेट संचार कार्यों के लिए एक निम्न-स्तरीय इंटरफ़ेस लागू करता है, एक सॉकेट सर्वर के साथ-साथ एक क्लाइंट के रूप में कार्य करने की संभावना प्रदान करता है।
सरल टीसीपी / आईपी सर्वर
पीएचपी मैनुअल उदाहरण के आधार पर न्यूनतम उदाहरण यहां पाया गया: http://php.net/manual/en/sockets.examples.php
वेबस्केट स्क्रिप्ट बनाएं जो पोर्ट 5000 का उपयोग करता है, पोटीन का उपयोग करें, telnet 127.0.0.1 5000
(लोकलहोस्ट) चलाने के लिए टर्मिनल। यह स्क्रिप्ट आपके द्वारा भेजे गए संदेश के साथ उत्तर देती है (पिंग-बैक के रूप में)
<?php
set_time_limit(0); // disable timeout
ob_implicit_flush(); // disable output caching
// Settings
$address = '127.0.0.1';
$port = 5000;
/*
function socket_create ( int $domain , int $type , int $protocol )
$domain can be AF_INET, AF_INET6 for IPV6 , AF_UNIX for Local communication protocol
$protocol can be SOL_TCP, SOL_UDP (TCP/UDP)
@returns true on success
*/
if (($socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) === false) {
echo "Couldn't create socket".socket_strerror(socket_last_error())."\n";
}
/*
socket_bind ( resource $socket , string $address [, int $port = 0 ] )
Bind socket to listen to address and port
*/
if (socket_bind($socket, $address, $port) === false) {
echo "Bind Error ".socket_strerror(socket_last_error($sock)) ."\n";
}
if (socket_listen($socket, 5) === false) {
echo "Listen Failed ".socket_strerror(socket_last_error($socket)) . "\n";
}
do {
if (($msgsock = socket_accept($socket)) === false) {
echo "Error: socket_accept: " . socket_strerror(socket_last_error($socket)) . "\n";
break;
}
/* Send Welcome message. */
$msg = "\nPHP Websocket \n";
// Listen to user input
do {
if (false === ($buf = socket_read($msgsock, 2048, PHP_NORMAL_READ))) {
echo "socket read error: ".socket_strerror(socket_last_error($msgsock)) . "\n";
break 2;
}
if (!$buf = trim($buf)) {
continue;
}
// Reply to user with their message
$talkback = "PHP: You said '$buf'.\n";
socket_write($msgsock, $talkback, strlen($talkback));
// Print message in terminal
echo "$buf\n";
} while (true);
socket_close($msgsock);
} while (true);
socket_close($socket);
?>
Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow