Maison >développement back-end >tutoriel php >Comment utiliser le cocket php

Comment utiliser le cocket php

不言
不言original
2018-07-05 15:24:161362parcourir

Cet article présente principalement comment utiliser le cocket php, qui a une certaine valeur de référence. Maintenant, je le partage avec tout le monde. Les amis dans le besoin peuvent s'y référer.

Sous la fenêtre, ouvrez la fenêtre de commande et exécutez le. suivants respectivement. Deux lignes de commandes :

# php.exe e:/wwwroot/server.php


# php.exe e:/wwwroot/server.php

Le code suivant provient du manuel php officiel

server.php:

<?php
 //The Server
 error_reporting(E_ALL);
 $address = "127.0.0.1";
 $port = "10000";
  
 
/* create a socket in the AF_INET family, using SOCK_STREAM for TCP connection */
 $mysock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
 
socket_bind($mysock, $address, $port);
 
socket_listen($mysock, 5);
 
$client = socket_accept($mysock);
 
echo "Server started, accepting connections...\n";
  
 
$i = 0;
 while (true == true)
 {
     $i++;
     echo "Sending $i to client.\n";
     socket_write($client, $i, strlen($i));
     
    $input = socket_read($client, 2048);
     echo "Response from client is: $input\n";
     sleep(5);
 }
 
echo "Closing sockets...";
 socket_close($client);
 
socket_close($mysock);

client. php

<?php
 //The Client
 error_reporting(E_ALL);
 
$address = "127.0.0.1";
 $port = 10000;
 
/* Create a TCP/IP socket. */
 $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
 if ($socket === false) {
     echo "socket_create() failed: reason: " . socket_strerror(socket_last_error()) . "\n";
 } else {
     echo "socket successfully created.\n";
 }
 
echo "Attempting to connect to &#39;$address&#39; on port &#39;$port&#39;...";
 $result = socket_connect($socket, $address, $port);
 if ($result === false) {
     echo "socket_connect() failed.\nReason: ($result) " . socket_strerror(socket_last_error($socket)) . "\n";
 } else {
     echo "successfully connected to $address.\n";
 }
 
$i = 0;
 while (true == true)
 {
     $i++;
     echo "Sending $i to server.\n";
     socket_write($socket, $i, strlen($i));
     
    $input = socket_read($socket, 2048);
     echo "Response from server is: $input\n";
     sleep(5);
 }
 
echo "Closing socket...";
 socket_close($socket);

Ce qui précède est l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !

Recommandations associées :

Cryptage du code source PHP php-beast

Utilisation de GridView::widget dans le modèle yii2 twig

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn