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

if(($socket = socket_create(AF_INET,SOCK_STREAM,SOL_TCP)) == false) echo "錯誤(socket_crea " /> 日本免费一区二区三区四区,日韩精品一二三四,国产99久久精品一区二区永久免费

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

PHP實現Socket服務器的代碼

<?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 "錯誤(socket_create):".socket_strerror(socket_last_error())."<br />";

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

if(socket_listen($socket) == false)
 echo "錯誤(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 "錯誤(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 "錯誤(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);
?>

 

然后打開CMD,輸入:telNET 192.40.7.93 10000,自己體驗去吧!
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 打開

php技術PHP實現Socket服務器的代碼,轉載需保留來源!

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

主站蜘蛛池模板: 高唐县| 新巴尔虎左旗| 循化| 廊坊市| 台北县| 台安县| 宝坻区| 枣阳市| 黄陵县| 岳西县| 梁河县| 荥阳市| 中方县| 库伦旗| 平山县| 凤凰县| 彭水| 宁都县| 青田县| 普陀区| 外汇| 广宗县| 龙州县| 右玉县| 宜宾市| 顺平县| 刚察县| 白朗县| 绥化市| 教育| 滕州市| 延长县| 方山县| 棋牌| 宽城| 丰镇市| 伽师县| 玛纳斯县| 邻水| 张家川| 娄底市|