天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

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

////////////////////////////// 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技術PHP SOCKET 技術研究,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 欧美最猛12teevideos欧美 欧美最猛12teevideos | 日韩欧美视频一区二区 | 精品久久久久中文字幕加勒比东京热 | 女人高潮时一吸一夹 | 中文字幕在线观看国产 | 一级毛片两人添下面 | 精品久久久亚洲精品中文字幕 | 亚洲香蕉视频在线播放 | jizzjizz丝袜 | 国产高清亚洲 | 97超碰免费人妻中文 | 不卡无线在一二三区 | 在教室轮流被澡高H林萌 | 亚洲午夜久久久无码精品网红A片 | 亚洲AV久久久噜噜噜噜 | 暖暖 免费 高清 日本 在线 | 蜜臀AV999无码精品国产 | 99久久精品国产自免费 | 国产亚洲日韩欧美视频 | 色呦呦导航 | 久久综合久久伊人 | 美女脱光app | 欧美性猛交XXXX乱大交极品 | 午夜快车神马影视 | 忘忧草高清 | 免费的av不用播放器的 | 日本高清无卡码一区二区久久 | 99久久做夜夜爱天天做精品 | 中文视频在线 | 色悠久久久久综合欧美99 | 日本三级按摩推拿按摩 | 98久久人妻无码精品系列蜜桃 | 樱花草在线影视WWW日本动漫 | 色综合久久88一加勒比 | 国产精品永久AV无码视频 | 人妻美妇疯狂迎合 | 天天看高清影视在线18 | 欧美性猛交AAA片 | 欧美人与动交zOZ0 | 青青草国产自偷拍 | 亚洲国产成人在线视频 |