PsiCat adlı üyeden alıntı: mesajı görüntüle
PHP'nin sunduğu yerleşik imkanlar -diğer dillere nazaran- bu tür işlemler için yetersiz kalıyor. Bu sebepten dolayı, "PHP ile Online Okey" projesi için yazdığım SimpleByteArray adındaki sınıfı kullanmanızda yarar görüyorum. Gönderilecek verilerin 'byte' olarak okunacağını varsayarak byte değerinde yazdırdım. Ancak bu değerler 'short' veya 'integer' olarak da kabul edililyor olabilir. Bunun için dökümanlarda daha ayrıntılı bir inceleme yapmanız gerekli. Ayrıca yazılan 'string' değerinin sunucu üzerinde nasıl okunacağından emin değilim. Normal şartlarda gerekli byte verileri okunduktan sonra string değeri 'null' bir byte(0x00) ile kaşılaşılıncaya kadar okunur. Ancak bu null değer, sizin sunucunuzda paket sonu anlamına da gelebilir. Buna dikkat ederek mümkünse ilk teslerinizde sadece sayısal değer gönderin ve literal değerleri bunları çalıştırdıktan sonra test edin. Ayrıca literal değerlerdeki karakter kodlamaları byte olarak yapılıyor. Bu yüzden unicode karakterleri kullanamazsınız. Ancak sunucunuzun da bu şekilde çalışıyor olma ihtimali yüksek. Eğer bu konuda bir sorun yaşarsanız string değerlerini, byte yerine short olarak yazdırın. Böylece UTF 8 desteğini de sağlayabilirsiniz.
şu ana kadar aldıgımız en açıklayıcı cevabı verdiniz. Teşekkur ederim

Dememde şu şekilde yaptım ama yinede bir sonuç alamadım.

Bu kodada tek değişken tarih değişkeni olacak digerleri hep standart kalacak. bu kodları kendi emulatörü üzerinden gönderdigimde almış oldugum cevaptı

<?php
// Kütüphane bilgisi
define('STX', 0x02); 
define('ETX', 0x03); 
define('LRC', 0x0D); 

$host   = '127.0.0.1'; 
$port   = 7777; 
$socket = fsockopen($host, $port); 

$packet = new SimpleByteArray(); 
$packet->write_byte(STX); // STX 
$packet->write_string('³UU³³1³1³³P³26/02/2014³09:32³28/02/2014³09:32³³³0³0³0³0³0³7³³³³³³³³³³'); // Message 
$packet->write_byte(ETX); // ETX 
$packet->write_byte(LRC); //LRC 

@socket_write($socket, $packet, strlen($packet)); 
@fflush($socket); 
@fclose($socket); 
?>