Maison développement back-end tutoriel php PHP SOCKET 技术研究_PHP

PHP SOCKET 技术研究_PHP

Jun 01, 2016 pm 12:31 PM
socket var 技术 消息 研究 通讯

  今天试着写一个 PHP 与 C 语言通过socket通讯的程序,看过PHP手册,发现有好几种方式可以建立socket 客户端.

  1、通过 fsockopen() 建立socket连接,然后用 用fputs() 发送消息,用 fgets() 接收消息。

  2、通过 socket_create() 建立 socket 连接,然后用 socket_send() or socket_write() 发送消息,用 socket_recv() or socket_read() 发送消息。

  很奇怪,我在手册上看到了这样一段话"本扩展模块是实验性的。该模块的行为,包括其函数的名称以及其它任何关于此模块的文档可能会在没有通知的情况下随 PHP 以后的发布而改变。我们提醒您在使用本扩展模块的同时自担风险。" 看来 php4.0 socket通讯还不是完全稳定。

  今天我写的客户端要与服务端做两次通讯,我用上面这个方法都写了一个客户端程序,发现当仅仅就一次通讯的时候,也就是PHP客户端发送一次消息,然后接收返回消息,就关闭连接。这两种方法都能正确快速的实现功能,但当做两次通讯时,却有明显的差别,第一种方法第一次通讯特别快就结束了,这个我可以通过服务端的输出看出来,但是第二次通讯要等上好几分钟才能结束,我试了好几次都这样,我不太清楚我的程序哪里出错了,还是这个方式连接就是有问题,但是第二种方法做这两次通讯却很快,正确!完成的非常的。

  最后我根据 第二种情况写了一个 class

  ////////////////ile Description ////////////////////
  //Class Name : socket
//Version: V1.0
//Functional Outline: create socket,and send message to server
//Revision history: 2004/12/15 First version created
// Current : 2004/12/15 Liu ongsheng
///////////////////////////////////////////
class socket{
var $socket; //socket 句柄
var $sendflag = ">>>";
var $recvflag = " var $response;
var $debug = 1;
function socket($hostname,$port){
$address = gethostbyname($hostname);
$this->socket = socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
$result = socket_connect($this->socket,$address,$port);
if($this->debug == 1){
if ($result echo "socket_connect() failed.\nReason: ($result) " . socket_strerror($result) . "
";
} else{
echo "connect OK.
";
}
}
}
function sendmsg($msg){
socket_write($this->socket,$msg,strlen($msg));
$result = socket_read($this->socket,100);
$this->response = $result;
if($this->debug == 1){
printf("%s $msg
",$this->sendflag);
printf("%s $result
",$this->recvflag);
}
return $result;
}
function close(){
socket_close($this->socket);
}

  }

Déclaration de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Qu'est-ce que cela signifie lorsqu'un message a été envoyé mais rejeté par l'autre partie ? Qu'est-ce que cela signifie lorsqu'un message a été envoyé mais rejeté par l'autre partie ? Mar 07, 2024 pm 03:59 PM

Le message a été envoyé mais rejeté par l'autre partie. Cela signifie que les informations envoyées ont été envoyées avec succès depuis l'appareil, mais pour une raison quelconque, l'autre partie n'a pas reçu le message. Plus précisément, cela est généralement dû au fait que l'autre partie a défini certaines autorisations ou pris certaines actions, ce qui empêche la réception normale de vos informations.

Une plongée approfondie dans les modèles, les données et les frameworks : une revue exhaustive de 54 pages de grands modèles de langage efficaces Une plongée approfondie dans les modèles, les données et les frameworks : une revue exhaustive de 54 pages de grands modèles de langage efficaces Jan 14, 2024 pm 07:48 PM

Les modèles linguistiques à grande échelle (LLM) ont démontré des capacités convaincantes dans de nombreuses tâches importantes, notamment la compréhension du langage naturel, la génération de langages et le raisonnement complexe, et ont eu un impact profond sur la société. Cependant, ces capacités exceptionnelles nécessitent des ressources de formation importantes (illustrées dans l’image de gauche) et de longs temps d’inférence (illustrés dans l’image de droite). Les chercheurs doivent donc développer des moyens techniques efficaces pour résoudre leurs problèmes d’efficacité. De plus, comme on peut le voir sur le côté droit de la figure, certains LLM (LanguageModels) efficaces tels que Mistral-7B ont été utilisés avec succès dans la conception et le déploiement de LLM. Ces LLM efficaces peuvent réduire considérablement la mémoire d'inférence tout en conservant une précision similaire à celle du LLaMA1-33B

Le papier Stable Diffusion 3 est enfin publié, et les détails architecturaux sont révélés. Cela aidera-t-il à reproduire Sora ? Le papier Stable Diffusion 3 est enfin publié, et les détails architecturaux sont révélés. Cela aidera-t-il à reproduire Sora ? Mar 06, 2024 pm 05:34 PM

L'article de StableDiffusion3 est enfin là ! Ce modèle est sorti il ​​y a deux semaines et utilise la même architecture DiT (DiffusionTransformer) que Sora. Il a fait beaucoup de bruit dès sa sortie. Par rapport à la version précédente, la qualité des images générées par StableDiffusion3 a été considérablement améliorée. Il prend désormais en charge les invites multithèmes, et l'effet d'écriture de texte a également été amélioré et les caractères tronqués n'apparaissent plus. StabilityAI a souligné que StableDiffusion3 est une série de modèles avec des tailles de paramètres allant de 800M à 8B. Cette plage de paramètres signifie que le modèle peut être exécuté directement sur de nombreux appareils portables, réduisant ainsi considérablement l'utilisation de l'IA.

Cet article vous suffit pour en savoir plus sur la conduite autonome et la prédiction de trajectoire ! Cet article vous suffit pour en savoir plus sur la conduite autonome et la prédiction de trajectoire ! Feb 28, 2024 pm 07:20 PM

La prédiction de trajectoire joue un rôle important dans la conduite autonome. La prédiction de trajectoire de conduite autonome fait référence à la prédiction de la trajectoire de conduite future du véhicule en analysant diverses données pendant le processus de conduite du véhicule. En tant que module central de la conduite autonome, la qualité de la prédiction de trajectoire est cruciale pour le contrôle de la planification en aval. La tâche de prédiction de trajectoire dispose d'une riche pile technologique et nécessite une connaissance de la perception dynamique/statique de la conduite autonome, des cartes de haute précision, des lignes de voie, des compétences en architecture de réseau neuronal (CNN&GNN&Transformer), etc. Il est très difficile de démarrer ! De nombreux fans espèrent se lancer dans la prédiction de trajectoire le plus tôt possible et éviter les pièges. Aujourd'hui, je vais faire le point sur quelques problèmes courants et des méthodes d'apprentissage introductives pour la prédiction de trajectoire ! Connaissances introductives 1. Existe-t-il un ordre d'entrée pour les épreuves de prévisualisation ? R : Regardez d’abord l’enquête, p

DualBEV : dépassant largement BEVFormer et BEVDet4D, ouvrez le livre ! DualBEV : dépassant largement BEVFormer et BEVDet4D, ouvrez le livre ! Mar 21, 2024 pm 05:21 PM

Cet article explore le problème de la détection précise d'objets sous différents angles de vue (tels que la perspective et la vue à vol d'oiseau) dans la conduite autonome, en particulier comment transformer efficacement les caractéristiques de l'espace en perspective (PV) en vue à vol d'oiseau (BEV). implémenté via le module Visual Transformation (VT). Les méthodes existantes sont globalement divisées en deux stratégies : la conversion 2D en 3D et la conversion 3D en 2D. Les méthodes 2D vers 3D améliorent les caractéristiques 2D denses en prédisant les probabilités de profondeur, mais l'incertitude inhérente aux prévisions de profondeur, en particulier dans les régions éloignées, peut introduire des inexactitudes. Alors que les méthodes 3D vers 2D utilisent généralement des requêtes 3D pour échantillonner des fonctionnalités 2D et apprendre les poids d'attention de la correspondance entre les fonctionnalités 3D et 2D via un transformateur, ce qui augmente le temps de calcul et de déploiement.

Adaptateur I2V de la communauté SD : aucune configuration requise, plug and play, parfaitement compatible avec le plug-in vidéo Tusheng Adaptateur I2V de la communauté SD : aucune configuration requise, plug and play, parfaitement compatible avec le plug-in vidéo Tusheng Jan 15, 2024 pm 07:48 PM

La tâche de génération d'image en vidéo (I2V) est un défi dans le domaine de la vision par ordinateur qui vise à convertir des images statiques en vidéos dynamiques. La difficulté de cette tâche est d'extraire et de générer des informations dynamiques dans la dimension temporelle à partir d'une seule image tout en conservant l'authenticité et la cohérence visuelle du contenu de l'image. Les méthodes I2V existantes nécessitent souvent des architectures de modèles complexes et de grandes quantités de données de formation pour atteindre cet objectif. Récemment, un nouveau résultat de recherche « I2V-Adapter : AGeneralImage-to-VideoAdapter for VideoDiffusionModels » dirigé par Kuaishou a été publié. Cette recherche introduit une méthode innovante de conversion image-vidéo et propose un module adaptateur léger, c'est-à-dire

Papier de score parfait VPR 2024 ! Meta propose EfficientSAM : divisez tout rapidement ! Papier de score parfait VPR 2024 ! Meta propose EfficientSAM : divisez tout rapidement ! Mar 02, 2024 am 10:10 AM

Ce travail d'EfficientSAM a été inclus dans le CVPR2024 avec une note parfaite de 5/5/5 ! L'auteur a partagé le résultat sur les réseaux sociaux, comme le montre l'image ci-dessous : Le lauréat du prix LeCun Turing a également fortement recommandé ce travail ! Dans des recherches récentes, les chercheurs de Meta ont proposé une nouvelle méthode améliorée, à savoir le pré-entraînement d'image de masque (SAMI) utilisant SAM. Cette méthode combine la technologie de pré-entraînement MAE et les modèles SAM pour obtenir des encodeurs ViT pré-entraînés de haute qualité. Grâce à SAMI, les chercheurs tentent d'améliorer les performances et l'efficacité du modèle et de proposer de meilleures solutions pour les tâches de vision. La proposition de cette méthode apporte de nouvelles idées et opportunités pour explorer et développer davantage les domaines de la vision par ordinateur et de l’apprentissage profond. en combinant différents

L'étoile montante de Google AI passe à Pika : la génération vidéo Lumiere est un scientifique fondateur L'étoile montante de Google AI passe à Pika : la génération vidéo Lumiere est un scientifique fondateur Feb 26, 2024 am 09:37 AM

La génération vidéo progresse à plein régime et Pika a accueilli un grand général : le chercheur de Google, Omer Bar-Tal, qui est le scientifique fondateur de Pika. Il y a un mois, Google a publié le modèle de génération vidéo Lumiere en tant que co-auteur, et l'effet a été incroyable. À cette époque, les internautes disaient : Google rejoint la bataille de la génération vidéo, et il y a une autre bonne émission à regarder. Certaines personnes du secteur, notamment le PDG de StabilityAI et d'anciens collègues de Google, ont envoyé leurs bénédictions. Le premier ouvrage de Lumière, Omer Bar-Tal, qui vient d'obtenir une maîtrise, est diplômé du Département de mathématiques et d'informatique de l'Université de Tel Aviv en 2021, puis est allé à l'Institut des sciences Weizmann pour étudier une maîtrise en informatique science, principalement axée sur la recherche dans le domaine de la synthèse d’images et de vidéos. Ses résultats de thèse ont été publiés à plusieurs reprises

See all articles