如何将数据从PHP页面发送到TCP端口?
<?php
// parameters to connect to server
$ip = "192.168.1.3";
$port = "59995";
$data = "Hello";
$output = "";
// Create a TCP Stream Socket
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
// Connect to the server.
$result = socket_connect($socket, $ip, $port);
// Write to socket!
socket_write($socket, $data, strlen($data));
// Read from server
do
{
$line =@socket_read($socket,2048);
echo $line. "\n";
}
while ($data != "0");
// Close and return.
socket_close($socket);
?>
我正在使用它,但我无法收集任何数据!另外,你知道我怎么能超时吗?
有什么问题?
答案 0 :(得分:0)
您的计划有效。如果它没有接收数据,则可能是服务器的错误。当然,你想要
while ($line);
而不是
while ($data != "0");
如果服务器已关闭连接,则暂停。 对于接收超时(例如7秒),您可以使用
socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array("sec"=>7, "usec"=>0));