亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 10717 | 回復(fù): 10
打印 上一主題 下一主題

php寫tcp服務(wù)器怎么樣? [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2011-11-19 21:01 |只看該作者 |倒序瀏覽
我看了下php的pctnl庫好像支持多進程而且還支持select、epoll等IO模型,不知道php做的服務(wù)端效果怎么樣,有誰試過嗎?

論壇徽章:
0
2 [報告]
發(fā)表于 2011-11-20 12:29 |只看該作者
這個不是php的強項啊。

用socket 可以寫值守程序的。

論壇徽章:
0
3 [報告]
發(fā)表于 2011-11-20 13:40 |只看該作者
回復(fù) 2# maochanglu


    不見得啊 它既然有這個功能 肯定有它的存在價值 我希望能把它發(fā)揮出來

論壇徽章:
0
4 [報告]
發(fā)表于 2011-11-22 11:02 |只看該作者
可以應(yīng)付普通應(yīng)用,php的有些網(wǎng)絡(luò)庫也引入了libevent

論壇徽章:
0
5 [報告]
發(fā)表于 2011-11-22 23:54 |只看該作者
回復(fù) 4# bs


有兩問?
一、 一個php的版webgame server 可不可以fork多個進程去監(jiān)聽同一個端口呢,如果可以大概能撐多少個人同時在線(進程不掛掉就ok)?
二、如果采用單一進程綁定事件的方式,能撐多少?
有木試過?

論壇徽章:
0
6 [報告]
發(fā)表于 2011-11-23 14:42 |只看該作者
回復(fù)  bs


有兩問?
一、 一個php的版webgame server 可不可以fork多個進程去監(jiān)聽同一個端口呢,如果 ...
lijianjunljj 發(fā)表于 2011-11-22 23:54



可以fork多個進程

  1. <?php   
  2. $socket = stream_socket_server("tcp://0.0.0.0:8000", $errno, $errstr);
  3. if (!$socket)
  4.   throw new Exception("$errstr ($errno)<br />\n");

  5. // 生成子進程
  6. $pid = pcntl_fork();
  7. if ($pid == -1) {
  8.      die('could not fork');
  9. } else if ($pid) {
  10.      loop($socket , 1);
  11.      pcntl_wait($status);
  12. } else {
  13.      loop($socket , 2);
  14. }


  15. function loop($socket , $id) {
  16.     while ($conn = stream_socket_accept($socket)) {
  17.             /*
  18.             $data = '';
  19.             while(($c=fgetc($read_sock))!==false && $c!="\0" && $c!="\n" && $c!="\r"){
  20.                 $data .= $c;
  21.             }*/
  22.             fwrite($conn, "Server ID :   $id , hello!\n");
  23.             fclose($conn);
  24.     }

  25.     fclose($socket);
  26. }


復(fù)制代碼
另外你可以試試php異步IO+消息列隊+producer/consumer模型,至于可用性不敢保證,性能方面應(yīng)該不會太差,之前是有PHP的web server的開源產(chǎn)品。

論壇徽章:
0
7 [報告]
發(fā)表于 2014-07-11 00:08 |只看該作者
用swoole把,C擴展實現(xiàn)的PHP多線程異步Server。
http://www.swoole.com/

論壇徽章:
1
操作系統(tǒng)版塊每日發(fā)帖之星
日期:2016-06-12 06:20:00
8 [報告]
發(fā)表于 2014-07-11 09:10 |只看該作者
swoole vs nodejs有人測試過性能嗎?

論壇徽章:
0
9 [報告]
發(fā)表于 2014-07-11 13:49 |只看該作者
回復(fù) 1# lijianjunljj


可以使用swoole輕松實現(xiàn) http://72891.cn/thread-4145582-1-1.html

論壇徽章:
1
操作系統(tǒng)版塊每日發(fā)帖之星
日期:2016-06-12 06:20:00
10 [報告]
發(fā)表于 2014-07-12 19:35 |只看該作者
yum 安裝 swoole出錯 
yum install php-pecl-swoole

Loaded plugins: fastestmirror, presto
Loading mirror speeds from cached hostfile
* base: mirrors.btte.net
* epel: ftp.jaist.ac.jp
* extras: mirrors.btte.net
* remi: rpms.famillecollet.com
* remi-test: rpms.famillecollet.com
* updates: mirrors.btte.net
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package php-pecl-swoole.i686 0:1.7.3-1.el6.remi.5.4 will be installed
--> Processing Dependency: php(zend-abi) = 20100525-x86-32 for package: php-pecl-swoole-1.7.3-1.el6.remi.5.4.i686
--> Processing Dependency: php(api) = 20100412-x86-32 for package: php-pecl-swoole-1.7.3-1.el6.remi.5.4.i686
--> Processing Dependency: php-sockets(x86-32) for package: php-pecl-swoole-1.7.3-1.el6.remi.5.4.i686
--> Processing Dependency: /usr/bin/pecl for package: php-pecl-swoole-1.7.3-1.el6.remi.5.4.i686
--> Processing Dependency: /usr/bin/pecl for package: php-pecl-swoole-1.7.3-1.el6.remi.5.4.i686
--> Running transaction check
---> Package php-common.i686 0:5.4.30-1.el6.remi will be installed
---> Package php-pear.noarch 1:1.9.5-0.1.el6.remi will be installed
--> Processing Dependency: php-xml for package: 1:php-pear-1.9.5-0.1.el6.remi.noarch
--> Processing Dependency: php-posix for package: 1:php-pear-1.9.5-0.1.el6.remi.noarch
--> Processing Dependency: php-cli for package: 1:php-pear-1.9.5-0.1.el6.remi.noarch
--> Running transaction check
---> Package php-cli.i686 0:5.5.15-0.1.RC1.el6.remi will be installed
--> Processing Dependency: php-common(x86-32) = 5.5.15-0.1.RC1.el6.remi for package: php-cli-5.5.15-0.1.RC1.el6.remi.i686
--> Processing Dependency: libssl.so.10(libssl.so.10) for package: php-cli-5.5.15-0.1.RC1.el6.remi.i686
--> Processing Dependency: libcrypto.so.10(libcrypto.so.10) for package: php-cli-5.5.15-0.1.RC1.el6.remi.i686
--> Processing Dependency: libcrypto.so.10(OPENSSL_1.0.1_EC) for package: php-cli-5.5.15-0.1.RC1.el6.remi.i686
--> Processing Dependency: libcrypto.so.10(OPENSSL_1.0.1) for package: php-cli-5.5.15-0.1.RC1.el6.remi.i686
---> Package php-process.i686 0:5.5.15-0.1.RC1.el6.remi will be installed
---> Package php-xml.i686 0:5.5.15-0.1.RC1.el6.remi will be installed
--> Running transaction check
---> Package openssl.i686 0:1.0.0-20.el6_2.5 will be updated
---> Package openssl.i686 0:1.0.1e-16.el6_5.14 will be an update
---> Package php-common.i686 0:5.4.30-1.el6.remi will be installed
--> Processing Dependency: php-pecl-zip(x86-32) for package: php-common-5.5.15-0.1.RC1.el6.remi.i686
--> Processing Dependency: php(zend-abi) = 20100525-x86-32 for package: php-pecl-swoole-1.7.3-1.el6.remi.5.4.i686
--> Processing Dependency: php(api) = 20100412-x86-32 for package: php-pecl-swoole-1.7.3-1.el6.remi.5.4.i686
---> Package php-common.i686 0:5.5.15-0.1.RC1.el6.remi will be installed
--> Processing Dependency: php-pecl-zip(x86-32) for package: php-common-5.5.15-0.1.RC1.el6.remi.i686
--> Processing Dependency: php-pecl-jsonc(x86-32) for package: php-common-5.5.15-0.1.RC1.el6.remi.i686
--> Running transaction check
---> Package php-common.i686 0:5.4.30-1.el6.remi will be installed
--> Processing Dependency: php-pecl-zip(x86-32) for package: php-common-5.5.15-0.1.RC1.el6.remi.i686
--> Processing Dependency: php(zend-abi) = 20100525-x86-32 for package: php-pecl-swoole-1.7.3-1.el6.remi.5.4.i686
--> Processing Dependency: php(zend-abi) = 20100525-x86-32 for package: php-pecl-jsonc-1.3.5-1.el6.remi.5.4.i686
--> Processing Dependency: php(api) = 20100412-x86-32 for package: php-pecl-swoole-1.7.3-1.el6.remi.5.4.i686
--> Processing Dependency: php(api) = 20100412-x86-32 for package: php-pecl-jsonc-1.3.5-1.el6.remi.5.4.i686
---> Package php-common.i686 0:5.5.15-0.1.RC1.el6.remi will be installed
--> Processing Dependency: php-pecl-zip(x86-32) for package: php-common-5.5.15-0.1.RC1.el6.remi.i686
---> Package php-pecl-jsonc.i686 0:1.3.5-1.el6.remi.5.4 will be installed
--> Processing Dependency: php(zend-abi) = 20100525-x86-32 for package: php-pecl-jsonc-1.3.5-1.el6.remi.5.4.i686
--> Processing Dependency: php(api) = 20100412-x86-32 for package: php-pecl-jsonc-1.3.5-1.el6.remi.5.4.i686
--> Finished Dependency Resolution
Error: Package: php-common-5.5.15-0.1.RC1.el6.remi.i686 (remi-test)
           Requires: php-pecl-zip(x86-32)
           Available: php-common-5.4.29-3.el6.remi.i686 (remi)
               php-pecl-zip(x86-32) = 1.11.0
           Available: php-common-5.4.30-1.el6.remi.i686 (remi)
               php-pecl-zip(x86-32) = 1.11.0
           Available: php-common-5.3.3-26.el6.i686 (base)
               Not found
           Available: php-common-5.3.3-27.el6_5.i686 (updates)
               Not found
           Installing: php-common-5.5.15-0.1.RC1.el6.remi.i686 (remi-test)
               Not found
Error: Package: php-pecl-swoole-1.7.3-1.el6.remi.5.4.i686 (remi)
           Requires: php(zend-abi) = 20100525-x86-32
           Available: php-common-5.3.3-26.el6.i686 (base)
               php(zend-abi) = 20090626
           Available: php-common-5.3.3-27.el6_5.i686 (updates)
               php(zend-abi) = 20090626
           Available: php-common-5.4.29-3.el6.remi.i686 (remi)
               php(zend-abi) = 20100525-x86-32
           Available: php-common-5.4.30-1.el6.remi.i686 (remi)
               php(zend-abi) = 20100525-x86-32
           Installing: php-common-5.5.15-0.1.RC1.el6.remi.i686 (remi-test)
               php(zend-abi) = 20121212-32
Error: Package: php-pecl-swoole-1.7.3-1.el6.remi.5.4.i686 (remi)
           Requires: php(api) = 20100412-x86-32
           Available: php-common-5.3.3-26.el6.i686 (base)
               php(api) = 20090626
           Available: php-common-5.3.3-27.el6_5.i686 (updates)
               php(api) = 20090626
           Available: php-common-5.4.29-3.el6.remi.i686 (remi)
               php(api) = 20100412-x86-32
           Available: php-common-5.4.30-1.el6.remi.i686 (remi)
               php(api) = 20100412-x86-32
           Installing: php-common-5.5.15-0.1.RC1.el6.remi.i686 (remi-test)
               php(api) = 20121113-32
Error: Package: php-pecl-jsonc-1.3.5-1.el6.remi.5.4.i686 (remi)
           Requires: php(zend-abi) = 20100525-x86-32
           Available: php-common-5.3.3-26.el6.i686 (base)
               php(zend-abi) = 20090626
           Available: php-common-5.3.3-27.el6_5.i686 (updates)
               php(zend-abi) = 20090626
           Available: php-common-5.4.29-3.el6.remi.i686 (remi)
               php(zend-abi) = 20100525-x86-32
           Available: php-common-5.4.30-1.el6.remi.i686 (remi)
               php(zend-abi) = 20100525-x86-32
           Installing: php-common-5.5.15-0.1.RC1.el6.remi.i686 (remi-test)
               php(zend-abi) = 20121212-32
Error: Package: php-pecl-jsonc-1.3.5-1.el6.remi.5.4.i686 (remi)
           Requires: php(api) = 20100412-x86-32
           Available: php-common-5.3.3-26.el6.i686 (base)
               php(api) = 20090626
           Available: php-common-5.3.3-27.el6_5.i686 (updates)
               php(api) = 20090626
           Available: php-common-5.4.29-3.el6.remi.i686 (remi)
               php(api) = 20100412-x86-32
           Available: php-common-5.4.30-1.el6.remi.i686 (remi)
               php(api) = 20100412-x86-32
           Installing: php-common-5.5.15-0.1.RC1.el6.remi.i686 (remi-test)
               php(api) = 20121113-32
swoole是不是對對php版本有要求,這現(xiàn)在的是php5.4
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP