Socket problem
Posted on
16th Feb 2014 07:03 pm by
admin
Hello,
Earlier I posted about my problem with my socket script. It took up to 100% CPU usage.
Now I found the problem. With another found simple PHP socket script, I saw it has the same problem.
Did you know?Explore Trending and Topic pages for more stories like this.
The code of this basic script is as follows:
I placed echo's to see what is happening.
When I execute the script, and connect using for example Windows Telnet to the socket, it connects without a problem. When I just CLOSE the telnetbox while connected, I see a loop of the POS7 message.
Then the CPU usage is exeeding, I think this is my problem.
Does anybody know how to fix this, that when someone just connects and closes the session, there is no loop?
Line number On/Off | Expand/Contract <? set_time_limit(0);ob_implicit_flush();$address = '0.0.0.0';$port = 5010;if (($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) === false) { echo "socket_create() failed: reason: " . socket_strerror(socket_last_error()) . "n";}if (socket_bind($sock, $address, $port) === false) { echo "socket_bind() failed: reason: " . socket_strerror(socket_last_error($sock)) . "n";}if (socket_listen($sock, 5) === false) { echo "socket_listen() failed: reason: " . socket_strerror(socket_last_error($sock)) . "n";}echo "pos1n";do {echo "pos2n"; if (($msgsock = socket_accept($sock)) === false) { echo "socket_accept() failed: reason: " . socket_strerror(socket_last_error($sock)) . "n"; break;echo "pos3n"; }do { $out = socket_read($msgsock, 2048); if (!empty($out)) { if ($out == 'quit') { break; }elseif ($out == 'shutdown') { socket_write($msgsock, 'plc down', 8); socket_close($msgsock); break 2; }else { switch ($out) { case "A": $response = "A!"; break; case "B": $response = "B!"; break; default: $response = "C!";echo "pos4n"; } socket_write($msgsock, $response, strlen($response)); break;echo "pos5n"; }echo "pos6n"; }echo "pos7n"; } while (true);echo "pos8n"; socket_close($msgsock);} while (true);echo "pos9n";socket_close($sock); ?>
No comments posted yet
Your Answer:
Login to answer
65
31
Other forums
Why doesn't this work? (SSH2)
This is my script:
Code: <?php
$connection = ssh2_connect('213.251.167.109', 22);
Why does my php page download images over and over
Can anybody please explain to me why my php page keeps downloading the images and other items every
PHP Error
On my .php page I have a drop down box that has several names in it. When a user clicks the name &am
What exactly is net neatrality?
What exactly is it? I think it's anti-censorship and... stuff... but I don't really understand it
array_diff weirdness
I'm using the following bit of code
$diff = array_diff($pids, $pidlist);
$diff = array_va
Mastering Regular Expressions, Third Edition, is available.
The Third Edition of Mastering Regular Expressions is available.
QuoteThis third edition is 5
php libs/ browsercap.in
ok i have a host that refuses to stay current. they control my php settings and libs. is there a way
Reduce redundancies in switch functions?
Hello all! I somewhat new to PHP, and was wondering if anyone could give some suggestions on a swit
Multiple if statements
Ok so seems basic but for some reason I'm not doing it right. What I want is to be able to have 2 se
question about stripslashes and real_escape_string
im cleaning up an old app that I wrote fixing some of the vulernabilities from attacks.
I hav