这是PHP 手册中写的: socket_read (PHP 4 >= 4.1.0)socket_read -- Reads a maximum of length bytes from a socket Description string socket_read ( resource socket, int length [, int type]) 好像支持!$len 返回的是 37 37 是什么意思?
第二种的代码我是用PHP手册中的! 我只是该了相关的设置。我把 $in .= "Host: www.example.com\r\n"; $in .= "Connection: Close\r\n\r\n"; $out = ''; 去掉了!<?php error_reporting(E_ALL);echo "<h2>TCP/IP Connection</h2>\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 < 0) { echo "socket_create() failed: reason: " . socket_strerror($socket) . "\n"; } else { echo "OK.\n"; }echo "Attempting to connect to '$address' on port '$service_port'..."; $result = socket_connect($socket, $address, $service_port); if ($result < 0) { echo "socket_connect() failed.\nReason: ($result) " . socket_strerror($result) . "\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"; while ($out = socket_read($socket, 2048)) { echo $out; }echo "Closing socket..."; socket_close($socket); echo "OK.\n\n"; ?>
Sockets Support enabled
只要我的客户端程序对就可以了吧!发送,接受就行了!
socket_read()之类的.
socket_read
(PHP 4 >= 4.1.0)socket_read -- Reads a maximum of length bytes from a socket
Description
string socket_read ( resource socket, int length [, int type])
好像支持!$len 返回的是 37
37 是什么意思?
我只是该了相关的设置。我把
$in .= "Host: www.example.com\r\n";
$in .= "Connection: Close\r\n\r\n";
$out = '';
去掉了!<?php
error_reporting(E_ALL);echo "<h2>TCP/IP Connection</h2>\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 < 0) {
echo "socket_create() failed: reason: " . socket_strerror($socket) . "\n";
} else {
echo "OK.\n";
}echo "Attempting to connect to '$address' on port '$service_port'...";
$result = socket_connect($socket, $address, $service_port);
if ($result < 0) {
echo "socket_connect() failed.\nReason: ($result) " . socket_strerror($result) . "\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";
while ($out = socket_read($socket, 2048)) {
echo $out;
}echo "Closing socket...";
socket_close($socket);
echo "OK.\n\n";
?>