电脑安全

您当前的位置:主页 > 电脑安全 >

PHP SOCKET 技术研究-网络编程

来源:[db:来源]标题:   通讯    编辑:电脑技术全能网 时间:2019-09-20 12:29

原标题:PHP SOCKET 技术研究-网络编程
   明天试着写一个 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 < 0) { echo "socket_connect() failed.Reason: ($result) " . socket_strerror($result) . "<br>";

上一篇:PHP开发多任务应用程序-网络编程

下一篇:没有了