簡體   English   中英

使用套接字功能發送/接收數據

[英]Send/Receive data using Sockets functions

如何將數據從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);
?>

我正在使用它,但是我無法接收任何數據! 另外,您知道我該如何超時嗎?

問題是什么?

您的程序有效。 如果不接收數據,則可能是服務器的故障。 當然要

while ($line);

代替

while ($data != "0");

如果服務器已關閉連接,則使其停止。 對於接收超時(例如7 s),您可以使用

socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array("sec"=>7, "usec"=>0));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM