태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.
블로그 이미지

HabonyphP eBook

PHP 소스 강좌, 데이터베이스, 레퍼런스 전자책 소개 등 수록. by 하보니



echo Server

에코 서버는 서버에 데이터를 전송하면 서버에서 수신받아 다시 클라이언트로 응답하는 shell script 입니다. 도스창이나 터미널에서 "php echo.server.php"스크립트를 실행해 주면 됩니다.


윈도우환경이라면 c:\php php.ini 가 있어야 제대로 작동합니다. 소스 코드는 다음과 같습니다.

 

ex #1)

#!/usr/bin/php -q 
<?php 
error_reporting(E_ALL); 
set_time_limit(0); 
ob_implicit_flush(); 

$address '127.0.0.1'
$port 10000

if(($sock = @socket_create(AF_INETSOCK_STREAM0)) < 0){ 
  echo "socket_create Failure: " socket_strerror($sock) . "\n"


if(($ref = @socket_bind($sock$address$port)) < 0){ 
  echo "socket_bind Failure: " socket_strerror($ref) . "\n"


if(($ref = @socket_listen($sock5)) < 0){ 
  echo "socket_listen Failure: " socket_strerror($ref) . "\n"


do { 
  if(($socket = @socket_accept($sock)) < 0){ 
    echo "socket_accept Failure: " socket_strerror($socket) . "\n"
    break; 
  } 

  $msg " Enter to exit ‘quit’\n"
  @socket_write($socket$msgstrlen($msg)); 

  do { 
    if(false === ($buf = @socket_read($socket2048))){ 
      echo "Sock Read Error!!"
      break 2
    } 

    if(!$buf trim($buf)){ 
      continue; 
    } 

    if($buf == 'quit'){ 
      break; 
    } 

    $talk "Reply: " $buf "\n"
    @socket_write($socket$talkstrlen($talk)); 
    echo $buf "\n"
  } 
  while (true); 

  @socket_close($socket); 

while (true); 

@socket_close($sock); 
?>

신고
Comment : 0 Trackback : 0
Top
prev 1 ... 15 16 17 18 19 20 21 22 23 ... 39 next