0

如何将数据从 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);
?>

我正在使用它,但我无法接收任何数据!另外,您知道我如何为此设置超时吗?

问题是什么?

4

1 回答 1

0

你的程序有效。如果它没有收到数据,可能是服务器的问题。当然,你想要

while ($line);

代替

while ($data != "0");

如果服务器已关闭连接,则让它停止。对于接收超时(例如 7 秒),您可以使用

socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array("sec"=>7, "usec"=>0));
于 2014-06-04T09:12:23.773 回答