Heim >Backend-Entwicklung >PHP-Tutorial >PHP-Methode zur Implementierung der UDP-Kommunikation basierend auf Socket

PHP-Methode zur Implementierung der UDP-Kommunikation basierend auf Socket

墨辰丷
墨辰丷Original
2018-06-09 09:57:066618Durchsuche

Dieser Artikel stellt hauptsächlich vor, wie PHP die UDP-Kommunikation basierend auf Sockets implementiert. Ich hoffe, dass er für alle hilfreich ist.

Das Beispiel in diesem Artikel beschreibt die UDP-Kommunikationsmethode der Socket-Kommunikation von PHP wie folgt:

1. Erstellen Sie einen einfachen UDP-Server

//服务器信息 
$server = 'udp://127.0.0.1:9998'; 
//消息结束符号 
$msg_eof = "\n"; 
$socket = stream_socket_server($server, $errno, $errstr, STREAM_SERVER_BIND); 
if (!$socket) { 
  die("$errstr ($errno)"); 
} 
do { 
  //接收客户端发来的信息 
  $inMsg = stream_socket_recvfrom($socket, 1024, 0, $peer); 
  //服务端打印出相关信息 
  echo "Client : $peer\n"; 
  echo "Receive : {$inMsg}"; 
  //给客户端发送信息 
  $outMsg = substr($inMsg, 0, (strrpos($inMsg, $msg_eof))).' -- '.date("D M j H:i:s Y\r\n"); 
  stream_socket_sendto($socket, $outMsg, 0, $peer); 
} while ($inMsg !== false);

Einfacher Client

function udpGet($sendMsg = '', $ip = '127.0.0.1', $port = '9998'){ 
  $handle = stream_socket_client("udp://{$ip}:{$port}", $errno, $errstr); 
  if( !$handle ){ 
    die("ERROR: {$errno} - {$errstr}\n"); 
  } 
  fwrite($handle, $sendMsg."\n"); 
  $result = fread($handle, 1024); 
  fclose($handle); 
  return $result; 
} 
$result = udpGet('Hello World'); 
echo $result;

Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird.

Verwandte Empfehlungen:

Drei häufige Verwendungen von PHP zur Simulation von Post-Anfragen

PHP-Löschung von Arrays, Konvertierung, Gruppierung, Sortierung

SQL-Anweisungen, die ausgeführt werden sollen, um Arrays in PHP zu generieren

Das obige ist der detaillierte Inhalt vonPHP-Methode zur Implementierung der UDP-Kommunikation basierend auf Socket. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn