Naprawdę nie wiem skąd ten ton...
1) To, że nie zdaje dokładnego raportu nie znaczy, nie nie sprawdziłem rozwiązań zaproponowanych wcześniej. Sprawdziłem i nie przyniosły one żadnego rezultatu. Ponieważ w wątku była cisza postanowiłem przeprowadzić eksperyment i sprawdziłem, czy ten sam problem będzie dotyczył także połączenia po TCP. Okazuje się, że występuje dokładnie taki sam objaw. Podzieliłem się tą dodatkową informacją sądząc, że może komuś skojarzy się z jakąś przyczyną. Zamiast tego zostałem bezpodstawnie oskarżony o ignorowanie udzielonych mi rad.
2) Za zdecydowane przegięcie uważam wkładanie w moje usta słów, których
nigdy nie wypowiedziałem. Proszę o wskazanie miejsca, w którym miałem rzekomo napisać "To za proste, tego nie chcę, to zbyt prymitywne... ".
3) Wspomniany drugi wątek dotyczył zupełnie innej sytuacji, innego języka i innego połączenia sieciowego. To, że kilka dni temu natknąłem się na problem podczas korzystania z socketów w PHP nie znaczy, że podobny (ale zupełnie inny w swojej naturze) problem w programie C mam opisywać w tym samym wątku. Gdyby stosować się takich zasad, to dopiero zrobiłby się bałagan na forum.
4) Nigdy nie twierdziłem, że jestem specjalistą od socketów. Zgodnie z prawdą napisałem tylko, że już miałem okazję je stosować. Wielokrotnie też powtarzałem, że dopiero uczę się C, a już w szczególności pod Linuksem, tak więc nieraz może mi umknąć coś, co dla kolegi jest "oczywistą oczywistością".
5) Wniosek o błędnie działającym/skonfigurowanym systemie nie wziął się tylko z tej sytuacji. Kiedyś próbowałem odpalić kilka różnych "webowych" klientów MPD, napisanych w PHP. Chociaż wszystko było dokładnie opisane w ich dokumentacji i tutorialach, niektóre za nic nie chciały działać - zupełnie jakby właśnie łączność z serwerem zawodziła. Wtedy sobie darowałem i zastosowałem najprostszy, który akurat nie robił problemów. Teraz ta sytuacja mi się przypomniała.
6) IPTABLES mam akurat tak skonfigurowane, że przepuszczają cały ruch po localhost. To sprawdzałem już na samym początku, poza tym chyba wspominałem, że łączność "symulowana" za pomocą telnetu albo netcata działa.
7) Pakiety jak już mówiłem są wysyłane - to sprawdziłem. Czy wracają - sprawdzę. W każdym razie urządzenie na 100% je odbiera, a inne programy (poza tym skryptem PHP) wyświetlają te odpowiedzi prawidłowo. Tak czy inaczej, czy nie jest dziwne, że wywołanie socket_recv/socket_revcfrom powoduje wyświetlenie pustej strony, nawet bez komunikatów, które bez tego się pojawiają? Bez jakikolwiek informacji o błędach?
8)Co do zezwoleń na komunikację, to phptest podaje następującą informację:
Cytuj:
Registered Stream Socket Transports: tcp, udp, unix, udg, ssl, sslv3, tls
I żeby nie było. Ja naprawdę nie uchylam się od krytyki, nie unikam także lektury dokumentacji. Po prostu sytuacja z wyświetlaniem pustej strony wydaje mi się na tyle nietypowa, że zadanie pytania na forum zdaje się być lepszym pomysłem niż wertowanie podręczników i manuali.