PHP Socket范例

WBOY
WBOYOriginal
2016-06-13 10:53:551078browse

PHP Socket实例
下面是一段php socket编程的例子,当然也可以使用fsockopen

<?phperror_reporting (E_ALL);echo "<h2>TCP/IP Connection\n";/* Get the port for the WWW service. */$service_port = getservbyname('www', 'tcp');/* Get the IP address for the target host. */$address = gethostbyname('www.example.com');/* Create a TCP/IP socket. */$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);if ($socket === false) {    echo "socket_create() failed: reason: " . socket_strerror(socket_last_error()) . "\n";} else {    echo "OK.\n";}echo "Attempting to connect to '$address' on port '$service_port'...";$result = socket_connect($socket, $address, $service_port);if ($result === false) {    echo "socket_connect() failed.\nReason: ($result) " . socket_strerror(socket_last_error($socket)) . "\n";} else {    echo "OK.\n";}$in = "HEAD / HTTP/1.1\r\n";$in .= "Host: www.example.com\r\n";$in .= "Connection: Close\r\n\r\n";$out = '';echo "Sending HTTP HEAD request...";socket_write($socket, $in, strlen($in));echo "OK.\n";echo "Reading response:\n\n";$buf = 'This is my buffer.';if (false !== ($bytes = socket_recv($socket, $buf, 2048, MSG_WAITALL))) {    echo "Read $bytes bytes from socket_recv(). Closing socket...";} else {    echo "socket_recv() failed; reason: " . socket_strerror(socket_last_error($socket)) . "\n";}socket_close($socket);echo $buf . "\n";echo "OK.\n\n";?> 
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:phpcms 栏目治理 模型管理Next article:当_用_函_数_PHP