Selamlar arkadaşlar ufak bir problemim var bu problem socket ile alakalı ve php bilgim hiç yok denilebilecek kadar az. Python bir scriptim var bu python scripti uzaktan veri alıp socket yardımı ile clientlara dağıtıyor buraya kadar hiç bir sıkıntı yok. Client tarafı php olacak karaladım bir şeyler fakat bir problemim var. ncelikle PHP kodlarını paylaşıyım. zet: PHP'de socket programlama ile uğraşırken gelen verinin hepsini tek seferde nasıl alabilirim? <?php $ip = ' '; $port = 8480; // Auth //$username = "test\n"; //$password = "test\n"; //$apikey = "test123\n"; if(!($sock = socket_create(AF_INET, SOCK_STREAM, 0))) if(! socket_connect / Strip / while(0x1) { if(socket_recv FALSE) echo $buf; } ?> Sürekli olarak veriler güncellendiği için tutup recv fonksiyonunu while dngüsünün içine aldım ne kadar verimli olur hiç bilmiyorum iş greceğini düşünüyorum çünkü ahım şahım bir data akışı olmayacak. Probleme gelicek olursak. Servera nc, veya farklı bir dilde yazdığım client ile bağlanınca çok hızlı bir şekilde veriyi alabiliyorum. Fakat PHP'de byle bir şey yapamadım veriyi 2-3 saniyede ve parça parça alabiliyorum bunun sebebi recv için kullanmış olduğum PHP_NORMAL_READ parametresinin sebep olduğunu düşünüyorum. Buraya manuel ile 2048 gibi okunacak bayt sayısını yazdığım zaman sıkıntı çıkmıyor fakat gelen datanın uzunluğu çok değişken olduğu için bazen yarım geliyor bazen ise çok aşırı gelip bekliyo php.

Yarım gelmesinin sebebi Buffer kullanmaman hocam, ufak contentler için tamam ama, ufak contentler için bile buffer kullanmalısın yoksa ne gelirse onu parçık puncuk gnderiyor. If there are two or more ways to do something, and one of those ways can result in a catastrophe, then someone will do it.