快速业务通道

在php上使用fork以及socket的sample

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-26
連線上
     @$WriteLen=socket_write($RemoteSocket,$RecvData);
     
if&
#40;$WriteLen===false)
     
&
#123;
//由於網路傳輸的問題,目前暫時無法寫入資料
//先睡個0.1秒再繼續嘗試。
      
usleep&
#40;100000);
      
continue;
     &
#125;
     
if&
#40;$WriteLen===0)
     
&
#123;
//遠端連線中斷,程式該結束了
      
echo"Remote Write Connection Close\n"
;
      return;
     &
#125;
//從外部連線讀取的資料,已經完全送給VNC連線時,中斷這個迴圈。
     
if&
#40;$WriteLen==strlen($RecvData)) break;
//如果資料一次送不完就得拆成好幾次傳送,直到所有的資料全部送出為止
     
$RecvData=substr&
#40;$RecvData,$WriteLen);
    
&
#125;
   
&
#125;
   
if&
#40;!$NoRemoteRecvData)
   
&
#123;
//這邊是從VNC連線讀取到的資料,再轉送回外部的連線
//原理跟上面差不多不再贅述
    
while&
#40;true)
    
&
#123;
     
@$WriteLen=socket_write&
#40;$ServerSocket,$RemoteRecvData);
     
if&
#40;$WriteLen===false)
     
&
#123;
      
usleep&
#40;100000);
      
continue;
     &
#125;
     
if&
#40;$WriteLen===0)
     
&
#123;
      
echo"Remote Write Connection Close\n"
;
      return;
     &
#125;
     
if&
#40;$WriteLen==strlen($RemoteRecvData)) break;
     
$RemoteRecvData=substr&
#40;$RemoteRecvData,$WriteLen);
    
&
#125;
   
&
#125;
  
&
#125;
 
&
#125;
 
functionDestroySocket&
#40;)
 
&
#123;
//用來關閉已經開啟的Socket
  
global$ServerSocket,$RemoteSocket
;
  if&
#40;$RemoteSocket)
  
&
#123;
//如果已經開啟VNC連線
//在Close Socket前必須將Socket shutdown不然對方不知到你已經關閉連線了
   
@socket_shutdown&
#40;$RemoteSocket,2);
   
socket_clear_error&
#40;$RemoteSocket);
//關閉Socket
   
socket_close&
#40;$RemoteSocket);   
  
&
#125;
//關閉外部的連線
  
@socket_shutdown&
#40;$ServerSocket,2);
  
socket_clear_error&
#40;$ServerSocket);
  
socket_close&
#40;$ServerSocket);
 
&a

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号