Friday, 15 August 2014

PHP socket server closes when connect client to server -



PHP socket server closes when connect client to server -

i'm coding php socket server script running on ubuntu.

it works well, clients can connect/disconnect server. server shutting downwards silently when client connect server didn't have client connected long time.

i setted timeout 0 (unlimited) server stoping without errors or messages... this.

root@exfl:/home/projectap/sec/server_core# php socket_server.php [exfl.kr] starting absolutepitch socket server... [2014.06.21 16:50:58] server listening. pid: 6442 [2014.06.21 17:28:48] client [192.168.0.1:8795] connected server. root@exfl:/home/projectap/sec/server_core#

i coded server this.

<?php set_time_limit(0); error_reporting(e_all); ini_set("memory_limit","2048m"); ini_set("max_execution_time", "0"); if(posix_getpid() == true) { echo "[exfl.kr] starting absolutepitch socket server...\n"; } else { echo gettimetostr()."server running.\n"; } $csock = array(); $socketsinformation = array(); $socket = socket_create(af_inet, sock_stream, sol_tcp); $bind = socket_bind($socket, "0.0.0.0", "24180"); $listen = socket_listen($socket, 5); echo gettimetostr()."server listening. pid: ".posix_getpid()."\n"; while(true) { $sockarr = array_merge(array($socket), $csock); if(socket_select($sockarr, $twrite = null, $texcept = null, null) > 0) { foreach($sockarr $sock){ if($sock == $socket){ $tsock = socket_accept($socket); socket_getpeername($tsock, $sockip, $sockport); array_push($csock, $tsock); array_push($socketsinformation, array("socketindex"=>(count($csock)-1), "ip"=>$sockip, "userid"=>"", "status"=>"", "auth"=>false)); echo gettimetostr()."client [".$sockip.":".$sockport."] connected server.\n"; } else { ... } } } } echo gettimetostr()."server closed.\n"; ... ?>

when server stops suddenly, isn't outputing "server closed" message..

please help.

sorry bad english.

php sockets php-socket

No comments:

Post a Comment