Heim >Backend-Entwicklung >PHP-Tutorial >PHP-Socket-UDP-Kommunikation

PHP-Socket-UDP-Kommunikation

*文
*文Original
2017-12-26 16:51:051951Durchsuche

Wie führt PHPs Socket die UDP-Kommunikation durch? In diesem Artikel wird hauptsächlich die UDP-Kommunikationsmethode der Socket-Kommunikation von PHP vorgestellt und anhand von Beispielen die zugehörigen Fähigkeiten der UDP-Kommunikation von PHP anhand von Sockets analysiert. Ich hoffe, es hilft allen.

Das Beispiel in diesem Artikel beschreibt die UDP-Kommunikationsmethode der Socket-Kommunikation von PHP. Teilen Sie es als Referenz mit allen. Die Details sind 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);


2


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;

Verwandte Empfehlungen:

Detaillierte Erläuterung der PHP-Implementierung der Socket-Push-Technologie

PHP-Socket-Server-Framework-Worker

Detaillierte Einführung in die PHP-Socket-Programmierung

Das obige ist der detaillierte Inhalt vonPHP-Socket-UDP-Kommunikation. 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