在windows 上php 運行 daemon

edited 一月 2014 in 進階PHP討論
我想要將一個用php 寫的bot注冊成類似linux 上的daemon 可以什樣做???
因為如果不用background 程序要花上50% cpu (q8400s) 4核當然是有點舊

<?php



set_time_limit(0);


$socket = fsockopen(\"irc.justin.tv\", 6667);


fputs($socket,\"USER ccuuttww\n\");

fputs($socket,\"PASS oauth:xxxxxxxxxxxxxx\n\");
fputs($socket,\"NICK ccuuttww\n\");

fputs($socket,\"JOIN #channel\n\");

while(1) {

// Continue the rest of the script here
while($data = fgets($socket, 128)) {

echo nl2br($data);
flush();
$pos=strpos($data,\":\",2);
$command=substr($data,$pos+1);
$command=trim($command);
if(strcmp($command,\"-message\")==0)
{
fputs($socket,\"PRIVMSG #channel : message\n\");

}

}

}


?>

bot 的初面貌

評論

  • 還有時間一長cpu 與吃與兇
  • 我用這個:
    https://github.com/RickySu/phpsocket.io

    但是 windows 開了一下就掛掉,所以我還是用 Ubuntu Linux ,只是前兩天有試過同時 20~30 即時連線, libevent 經常會吐出 segment fault 的訊息讓服務中止,我得一直手動重新啟用。在 libevent 有看到一些關於這個問題的討論,應該未來會越來越好用吧 XD

    libevent 已經相當省資源了,只是不知道 irc 能否用這種方式串起來
  • 然後也可以參考這個:
    https://github.com/dannvix/Logbot

    雖然他們是用 Ruby XD
  • :( 我寫"排程伺服器"也沒你說的那樣阿~是不是有什麼誤會??

    http://tw2.php.net/function.exec下面有幾個再windows下跑背景的方式~
    然後寫的時候~注意記憶體是否一直只有增加~表示沒寫好~
  • :D kiang大,新討論區沒有引言的功能嗎?
  • 說:

    :D kiang大,新討論區沒有引言的功能嗎?

    立馬加上了 ;)
  • 可是好像怪怪的,先湊和著用吧 XD
Sign In or Register to comment.