Ben böyle çok basit bir sunucu php kodu var
function listenForClients()
{
$this->serviceConnection = socket_create(AF_UNIX, SOCK_STREAM, 0);
socket_bind($this->serviceConnection, "\tmp\mysock", 0);
socket_listen($this->serviceConnection, 10000000);
while($clientSocket = socket_accept($this->serviceConnection))
{
$clientMessage = socket_read($clientSocket, 1024);
socket_close($clientSocket);
}
}
Then I have a very simple client that does this
for ( $counter = 0; $counter <= 1000; $counter ++) {
$fp = fsockopen("unix///tmp/mysock", 0, $errno, $errstr);
if (!$fp){
echo "Error: Could not open socket connection at " . $counter . "\n";
exit;
}else{
fputs ($fp, "hello", strlen("hello"));
fclose($fp);
}
}
Nedense, (300-500 civarında) bağlantıların rastgele bir sayıdan sonra fsockopen geçici olarak ulaşılamıyor bir uyarı Kaynak ile dönecektir. Başlangıçta ben yaklaşık 20-30 bağlantılarında uyarı başlamıştı. Ben socket_listen içinde birikim parametreyi arttı ama bir kez yaklaşık 300-500 biraz daha var. Ben bu nasıl aşılır?
Saniyede (sürekli) başına gelen bağlantıları bir sürü kabul etmek için bir php sunucusu soketi oluşturmak için yolu nedir.
Teşekkürler!
Tam hata:
PHP Warning: fsockopen(): unable to connect to unix:///tmp/mysock:0 (Resource temporarily unavailable) in test.php on line 22