![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 565 Pomógł: 15 Dołączył: 11.10.2010 Ostrzeżenie: (20%) ![]() ![]() |
Witam,
może mi ktoś wytłumaczyć co oznaczają poszczególne linijki kodu? (a mianowicie takie coś jak /xfe, /x00)
Ten post edytował Dominator 14.05.2015, 16:08:40 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Dokumentacja: http://php.net/manual/en/regexp.reference.escape.php
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 565 Pomógł: 15 Dołączył: 11.10.2010 Ostrzeżenie: (20%) ![]() ![]() |
Ma ktoś może jakieś proste przykłady wykorzystywania tego? W manualu nie ma żadnego konkretnego przykładu i nie bardzo wiem jak tego użyć w praktyce
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Chociażby kod, który podałeś jest dobrym przykładem wykorzystania tego. Jak inaczej chciałbyś zapisać np. NUL-a (0x00) jak nie przez coś w stylu \x00.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 565 Pomógł: 15 Dołączył: 11.10.2010 Ostrzeżenie: (20%) ![]() ![]() |
Czyli robię "zapytanie" do socketu o dane i takie coś jak "\x00" to odczytuje je, ale ... i tu jest jedno ale - skąd miałbym wiedzieć (bo to jest przykład z neta), że aby odczytać dane trzeba użyć np: \x00?
Ogólnie dziś zacząłem ogarniać sockety i prosiłbym o nie krytykowanie i po co zostało tu użyte fwrite($sock, "\xfe"); ? |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Żeby odczytać dane korzystasz z fread, nie podajesz tam żadnego znaku. W powyższym kodzie funkcja str_replace użyta jest w celu wymazania wszystkich znaków NUL (0x00) (zastąpienia ich niczym). W jakim celu jest to robione? Nie mamy pojęcia. Po co zapisujesz znak 0xFE? Również nie mamy pojęcia. Możesz wysłać cokolwiek i odczytać cokolwiek. Musisz wiedzieć z czym masz do czynienia zanim zaczniesz z tym pracować, czyli musisz znać jakąś specyfikację przesyłanych i odczytywanych danych.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 565 Pomógł: 15 Dołączył: 11.10.2010 Ostrzeżenie: (20%) ![]() ![]() |
Żeby odczytać dane korzystasz z fread, nie podajesz tam żadnego znaku. W powyższym kodzie funkcja str_replace użyta jest w celu wymazania wszystkich znaków NUL (0x00) (zastąpienia ich niczym). W jakim celu jest to robione? Nie mamy pojęcia. Po co zapisujesz znak 0xFE? Również nie mamy pojęcia. Możesz wysłać cokolwiek i odczytać cokolwiek. Musisz wiedzieć z czym masz do czynienia zanim zaczniesz z tym pracować, czyli musisz znać jakąś specyfikację przesyłanych i odczytywanych danych. Do czynienia mam z takimi danymi jak: obecna ilość graczy na serwerze, maksymalna ilość graczy, ping, krótki opis serwera i ewentualnie obrazek serwera (czyli wszystkie informacje wyświetlane w oknie gry). Oraz mam kolejne pytanie - czy korzystając z tej strony http://wiki.vg/Protocol jest możliwość ustalenia na stronie ile dany gracz na serwerze ma punktów życia? |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
1. Do czynienia masz z jakimś ciągiem/strumieniem bajtów, które zinterpretujesz sobie w jakiś nam bliżej nieznany sposób.
2. Być może jest tutaj ktoś, kto zna protokół Micecreafta, ja jedną z takich osób nie jestem. Musisz przejrzeć jego specyfikację i spróbować odczytać te dane. Format danych jest ustalony już przez specyfikację. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 565 Pomógł: 15 Dołączył: 11.10.2010 Ostrzeżenie: (20%) ![]() ![]() |
A i ostatnie pytanie - gdzie mogę przejrzeć tą specyfikację/format danych? Nigdzie na forach nie ma żadnych danych...
Ten post edytował Dominator 14.05.2015, 18:01:50 |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
A skąd mamy widzieć? Masz jakiś socket - nie wiemy czego, po co, jak, dlaczego, od kogo on pochodzi, jaki jest protokół komunikacji, co serwuje, jak serwuj, jednym słowem nic o nim nie wiemy. Podesłałeś jakąś specyfikację (http://wiki.vg/Protocol) to zapewne z takim czymś się łączysz. Przejrzyj ją. To nie to? To skąd my mielibyśmy wiedzieć czego i skąd chcesz?
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 565 Pomógł: 15 Dołączył: 11.10.2010 Ostrzeżenie: (20%) ![]() ![]() |
Dobra dobra już ogarnąłem całość, dzięki za wytłumaczenie
![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 12.06.2025 - 13:49 |