Użyłem czegoś innego
socket_connect
socket_send
socket_recv
Te same dane wyciaga mi w 5 sekund, dzięki za pomoc.
Teraz mam inny problem, gdy łącze się z jednym ze switchy i próbuje się zalogować to ciągle mam znaczek:
"ÿý"
Jak dodam handshake:
$header1=chr(0xFF).chr(0xFB).chr(0x1F).chr(0xFF).chr(0xFB).chr(0x20).chr(0xF
F).chr(0xFB).chr(0x18).chr(0xFF).chr(0xFB).chr(0x27).chr(0xFF).chr(0xFD).chr(0x01
).chr(0xFF).chr(0xFB).chr(0x03).chr(0xFF).chr(0xFD).chr(0x03).chr(0xFF).chr(0xFC)
.chr(0x23).chr(0xFF).chr(0xFC).chr(0x24).chr(0xFF).chr(0xFA).chr(0x1F).chr(0x00).
chr(0x50).chr(0x00).chr(0x18).chr(0xFF).chr(0xF0).chr(0xFF).chr(0xFA).chr(0x20).c
hr(0x00).chr(0x33).chr(0x38).chr(0x34).chr(0x30).chr(0x30).chr(0x2C).chr(0x33).ch
r(0x38).chr(0x34).chr(0x30).chr(0x30).chr(0xFF).chr(0xF0).chr(0xFF).chr(0xFA).chr
(0x27).chr(0x00).chr(0xFF).chr(0xF0).chr(0xFF).chr(0xFA).chr(0x18).chr(0x00).chr(
0x41).chr(0x4E).chr(0x53).chr(0x49).chr(0xFF).chr(0xF0);
to wtedy komunikat zwrotny jest większy:
ÿýÿþÿþ ÿþ'ÿûÿýÿûÿúÿð
Mój kod wygląda teraz tak:
$header1=chr(0xFF).chr(0xFB).chr(0x1F).chr(0xFF).chr(0xFB).chr(0x20).chr(0xFF).chr(0xFB).chr(0x18).chr(0xFF).chr(0xFB).chr(0x27).chr(0xFF).chr(0xFD).chr(0x01).chr(0xFF).chr(0xFB).chr(0x03).chr(0xFF).chr(0xFD).chr(0x03).chr(0xFF).chr(0xFC).chr(0x23).chr(0xFF).chr(0xFC).chr(0x24).chr(0xFF).chr(0xFA).chr(0x1F).chr(0x00).chr(0x50).chr(0x00).chr(0x18).chr(0xFF).chr(0xF0).chr(0xFF).chr(0xFA).chr(0x20).chr(0x00).chr(0x33).chr(0x38).chr(0x34).chr(0x30).chr(0x30).chr(0x2C).chr(0x33).chr(0x38).chr(0x34).chr(0x30).chr(0x30).chr(0xFF).chr(0xF0).chr(0xFF).chr(0xFA).chr(0x27).chr(0x00).chr(0xFF).chr(0xF0).chr(0xFF).chr(0xFA).chr(0x18).chr(0x00).chr(0x41).chr(0x4E).chr(0x53).chr(0x49).chr(0xFF).chr(0xF0);
$header2=chr(0xFF).chr(0xFC).chr(0x01).chr(0xFF).chr(0xFC).chr(0x22).chr(0xFF).chr(0xFE).chr(0x05).chr(0xFF).chr(0xFC).chr(0x21);
$sock = socket_create(AF_INET, SOCK_STREAM, 0);
socket_connect($sock , $ip , 23);
$message = $header1;
socket_send
( $sock , $message , strlen($message) , 0
);$message = "admin \r\n";
socket_send
( $sock , $message , strlen($message) , 0
);
socket_recv ( $sock , $x , 800000 , MSG_WAITALL );
I na wszystkich urządzeniach działa a na jednym innym modelu nie działa takie wysyłanie danych. Ma ktoś jakiś pomysł co trzeba zrobić by ta komunikacja zadziałała?? Próbowałem z sleep by poczekać na serwer ale nic nie chce zwrócić.