$address = "192.40.7.93";//換成你自己的地址 $port = 10000;

if(($socket = socket_create(AF_INET,SOCK_STREAM,SOL_TCP)) == false) echo "錯(cuò)誤(socket_crea " /> 综合久草视频,精品午夜电影,欧美黑人又粗大

色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

PHP實(shí)現(xiàn)Socket服務(wù)器的代碼

<?php
ob_implicit_flush();
set_time_limit(0);

$address = "192.40.7.93";//換成你自己的地址
$port = 10000;

if(($socket = socket_create(AF_INET,SOCK_STREAM,SOL_TCP)) == false)
 echo "錯(cuò)誤(socket_create):".socket_strerror(socket_last_error())."<br />";

if(socket_bind($socket,$address,$port) == false)
 echo "錯(cuò)誤(socket_bind):".socket_strerror(socket_last_error())."<br />";

if(socket_listen($socket) == false)
 echo "錯(cuò)誤(socket_listen):".socket_strerror(socket_last_error())."<br />";

/*
After the socket socket has been created using socket_create() and bound to a name with socket_bind(), 
it may be told to listen for incoming connections on socket. 
*/

while(true){
 if(($msgSocket = socket_accept($socket)) == false){
  echo "錯(cuò)誤(socket_accept):".socket_strerror(socket_last_error())."<br />";
  break;
 }

 /*
 this function will accept incoming connections on that socket. 
 Once a successful connection is made, a new socket resource is returned, which may be used for communication. 
 If there are multiple connections queued on the socket, the first will be used. 
 If there are no pending connections, socket_accept() will block until a connection becomes present. 
 If socket has been made non-blocking using socket_set_blocking() or socket_set_nonblock(), FALSE will be returned. 
 */

 $msg = "Welcome!<br />";
 //socket_write($msg,$msg,strlen($msg));
 $command = "";

 while(true){
  if(($buf = socket_read($msgSocket,2048,php_BINARY_READ)) == false){
   echo "錯(cuò)誤(socket_read):".socket_strerror(socket_last_error())."<br />";
   break 2;
  }

  /*
  The function socket_read() reads from the socket resource socket created by the socket_create() or socket_accept() functions. 
  The maximum number of bytes read is specified by the length parameter. 
  Otherwise you can use /r, /n, or /0 to end reading (depending on the type parameter, see below).   
  */

  /*
  if(!$buf = trim($buf))
   continue; // ????

  if($buf == "quit")
   break;

  if($buf == "shutdown"){
   socket_close($msgSocket);
   break 2;
  }

  $tallBack = "You say:$buf/n";
  socket_write($msgSocket,$tallBack,strlen($tallBack));
  */

  if(ord($buf) != 13)
   $command .= $buf;
  else{
   $command1 = "You Say:$command/r/n";
   socket_write($msgSocket,$command1,strlen($command1));
   echo "User typed:".$command."<br />";
   $command = "";
  }
 }
 socket_close($msgSocket);
}

socket_close($socket);
?>

 

然后打開(kāi)CMD,輸入:telNET 192.40.7.93 10000,自己體驗(yàn)去吧!
Javascript:window.open(this.src); src="/d/file/itjie/phpjishu/2014-10-22/6c67de6264db0150c869342c294da112.gif" onload="Javascript:if(this.width>510){this.resized=true;this.style.width=510;}">
注,要把:php_sockets.dll 打開(kāi)

php技術(shù)PHP實(shí)現(xiàn)Socket服務(wù)器的代碼,轉(zhuǎn)載需保留來(lái)源!

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

主站蜘蛛池模板: 藁城市| 化德县| 米易县| 时尚| 渝中区| 海城市| 北安市| 云和县| 曲周县| 黑山县| 阿鲁科尔沁旗| 商南县| 临武县| 石楼县| 长乐市| 乐亭县| 古丈县| 松潘县| 双鸭山市| 兴山县| 百色市| 贞丰县| 昌吉市| 寿阳县| 乌拉特前旗| 兰考县| 彰武县| 光泽县| 保亭| 五常市| 紫阳县| 乌恰县| 芦溪县| 井研县| 铁岭市| 砀山县| 潼关县| 子洲县| 永丰县| 渝中区| 巫溪县|