一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

PHP SOCKET 技術(shù)研究

    今天試著寫(xiě)一個(gè) php 與 C 語(yǔ)言通過(guò)socket通訊的程序,看過(guò)php手冊(cè),發(fā)現(xiàn)有好幾種方式可以建立socket 客戶端.

1、通過(guò) fsockopen() 建立socket連接,然后用 用fputs() 發(fā)送消息,用 fgets() 接收消息。

2、通過(guò) socket_create() 建立 socket 連接,然后用 socket_send() or socket_write() 發(fā)送消息,用 socket_recv() or socket_read() 發(fā)送消息。

    很奇怪,我在手冊(cè)上看到了這樣一段話"本擴(kuò)展模塊是實(shí)驗(yàn)性的。該模塊的行為,包括其函數(shù)的名稱以及其它任何關(guān)于此模塊的文檔可能會(huì)在沒(méi)有通知的情況下隨 php 以后的發(fā)布而改變。我們提醒您在使用本擴(kuò)展模塊的同時(shí)自擔(dān)風(fēng)險(xiǎn)。" 看來(lái) php4.0 socket通訊還不是完全穩(wěn)定。

今天我寫(xiě)的客戶端要與服務(wù)端做兩次通訊,我用上面這個(gè)方法都寫(xiě)了一個(gè)客戶端程序,發(fā)現(xiàn)當(dāng)僅僅就一次通訊的時(shí)候,也就是php客戶端發(fā)送一次消息,然后接收返回消息,就關(guān)閉連接。這兩種方法都能正確快速的實(shí)現(xiàn)功能,但當(dāng)做兩次通訊時(shí),卻有明顯的差別,第一種方法第一次通訊特別快就結(jié)束了,這個(gè)我可以通過(guò)服務(wù)端的輸出看出來(lái),但是第二次通訊要等上好幾分鐘才能結(jié)束,我試了好幾次都這樣,我不太清楚我的程序哪里出錯(cuò)了,還是這個(gè)方式連接就是有問(wèn)題,但是第二種方法做這兩次通訊卻很快,正確!完成的非常的。

最后我根據(jù) 第二種情況寫(xiě)了一個(gè) class

////////////////////////////// File 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 Yongsheng
//////////////////////////////////////////////////////////////////////////////////////////
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./nReason: ($result) " . socket_strerror($result) . "<br>";
   } else{
      echo "connect OK.<br>";
   }
  }  
 }
 function sendmsg($msg){
  socket_write($this->socket,$msg,strlen($msg));
  $result  = socket_read($this->socket,100);
  $this->response = $result;
  if($this->debug == 1){
      printf("<font color=#CCCCCC>%s $msg</fon><br>",$this->sendflag);
      printf("<font color=blue>%s $result</font><br>",$this->recvflag);
  }
        return $result;
 }
 function close(){
  socket_close($this->socket);
 }

}

php技術(shù)PHP SOCKET 技術(shù)研究,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 91嫩草国产在线观看免费 | 中文字幕福利视频 | 国产成人免费高清激情视频 | 国内精品91最新在线观看 | 一区二区免费在线观看 | 91探花福利精品国产自产在线 | 久久99精品国产麻豆 | 麻豆一区区三三四区产品麻豆 | 国内精品小视频 | 久久福利青草精品免费 | 六月婷婷综合激情 | 亚洲国产成人综合 | 国语自产精品视频 | 国产第一页在线播放 | 成人精品一区二区久久 | 91视频久久久久 | 伊人网综合 | 四虎4hu永久在线观看 | 午夜激情在线视频 | 亚洲欧美国产精品 | 久久精品国产亚洲片 | 激情文学综合 | 久久精品视频91 | 日本精品1在线区 | 99视频在线精品免费 | 一级鲁丝片| 色www精品视频在线观看 | 久久久国产精品网站 | 精品久久久久久久一区二区手机版 | 韩国一级做a爰片性色毛片 韩国一区二区三区 | 国产丝袜美腿高跟白浆 | 黄色小视频在线观看免费 | 黄色午夜视频 | 精品一区二区三区在线观看 | 中文字幕日产每天更新40 | 黄色视视频| 五月开心激情 | 日本不卡一区二区三区在线观看 | 国产亚洲精品观看91在线 | 国产精品深夜福利免费观看 | 四虎在线播放免费永久视频 |