【发布时间】:2016-02-18 14:22:56
【问题描述】:
我的网址:“http://provabextranet.com/es2al/test2_chat.php”。 我想在这个 URL 上发送消息。我使用了所有大多数示例,但无法发送。我使用了主机:'184.154.48.162'和端口:9001。 它是一个使用 JS 的网络套接字。我只想通过 php 而不是 JS 发送。 请帮帮我。
`<?php
echo "<h2>TCP/IP Connection</h2>\n";
$service_port = 9001;
$address = gethostbyname('www.provabextranet.com');
$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'...";
echo socket_connect($socket, $address, $service_port) or die( socket_strerror(socket_last_error()));
socket_strerror(socket_last_error($socket)) . "\n";
$in = "HEAD / HTTP/1.1\r\n";
$in .= "Host: www.provabextranet.com\r\n";
$in .= "Connection: Close\r\n\r\n";
$out = '';
echo "<br>Sending HTTP HEAD request...<br>";
echo socket_sendto($socket, $in, strlen($in),0,$address,$service_port) or die( socket_strerror(socket_last_error()));
echo "OK.\n";
}
socket_close($socket);
echo "OK.\n\n";
?>`
输出:
TCP/IP 连接
好的。尝试连接到端口 '9001' 上的 '184.154.48.162'...1 发送 HTTP HEAD 请求... 1O K. 关闭插座...OK。
和其他程序:
`<?php
$host = '184.154.48.162';
$port = 9001;
$local = "184.154.48.162";
$data = 'hello world!';
$head = "GET / HTTP/1.1"."\r\n".
"Upgrade: WebSocket"."\r\n".
"Connection: Upgrade"."\r\n".
"Origin: $local"."\r\n".
"Host: $host"."\r\n".
"Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ=="."\r\n".
"Sec-WebSocket-Version: 13"."\r\n".
"Content-Length: ".strlen($data)."\r\n"."\r\n";
$sock = fsockopen($host, $port, $errno, $errstr, 2);
fwrite($sock, $head ) or die('error:'.$errno.':'.$errstr);
$headers = fread($sock, 2000);
fwrite($sock, "hello" ,5) or die('error:'.$errno.':'.$errstr);
echo socket_strerror(socket_last_error());
$wsdata = fread($sock, 2000);
$retdata = trim($wsdata,"\x00\xff");
$contents = "";
while (!feof($sock)) {
echo $contents .= "<br>".fgets($sock, 4096);
}
fclose($sock);
?>`
输出: 成功
【问题讨论】:
-
Hiya Vijay,为了社区的帮助,请准确输入您尝试过的每个项目,以及确切的结果。问题可能是 PHP 语法,但也可能是您服务器的防火墙配置,看到了吗?
-
您可以发布您尝试过的内容吗?我们不会点击我们不信任的链接......如果我们不知道他的代码的确切错误/问题,我们将无法帮助您。
标签: php