Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] fgets do bota
k00sl
post 9.07.2010, 09:25:46
Post #1





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 20.04.2009

Ostrzeżenie: (0%)
-----


Witam, mam perfidny problem z botem w php. Wiem zaraz wszyscy powiedzą, że php się do tego nie nadaje.

Mam kod tego typu:

  1. $p = array();
  2. $p['SOCKET'] = @fsockopen('irc.quakenet.org', rand(6667,6669), $errno, $errstr, 5);
  3.  
  4. if($p['SOCKET']){
  5.  
  6. while(true){
  7.  
  8. $p['READ_BUFFER'] = fgets($p['SOCKET'], 1024);
  9.  
  10. // tutaj jakieś inne warunki i operacje
  11.  
  12. }
  13.  
  14. }


Problem polega na tym, że skrypt czeka aż zmienna $p['READ_BUFFER'] zostanie uzupełniona nadchodzącym pakietem i przez to warunki, które są poniżej nie wykonają się dopóki nie dojdzie pakiet... a chciałbym najlepiej tak, aby zmienna $p['READ_BUFFER'] nie zostawała uzupełniana gdy nie ma żadnego pakietu. Nie wiem jak rozwiązać ten problem, może ktoś z Was robił tego typu rzeczy w php i będzie znał na to radę. Bardzo proszę o pomoc smile.gif
Go to the top of the page
+Quote Post
Fifi209
post 9.07.2010, 11:25:49
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


A do czego to bot? Nie da rady w curl?
swoją drogą możesz zmniejszyć timeout

Ten post edytował fifi209 9.07.2010, 11:26:52


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
erix
post 9.07.2010, 11:32:58
Post #3





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Jak przez cURL chcesz napisać bota do IRC-a...?

Cytat
Problem polega na tym, że skrypt czeka aż zmienna $p['READ_BUFFER'] zostanie uzupełniona nadchodzącym pakietem i przez to warunki, które są poniżej nie wykonają się dopóki nie dojdzie pakiet...

Czytaj mniejszymi paczkami?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Fifi209
post 9.07.2010, 11:57:54
Post #4





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Cytat(erix @ 9.07.2010, 12:32:58 ) *
Jak przez cURL chcesz napisać bota do IRC-a...?


Właśnie nie zwróciłem na to uwagi, że to irc.


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
k00sl
post 9.07.2010, 12:34:34
Post #5





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 20.04.2009

Ostrzeżenie: (0%)
-----


Cytat(erix @ 9.07.2010, 12:32:58 ) *
Czytaj mniejszymi paczkami?


Niestety to nic nie daje nawet jak się ustawi na mniejsze lub nic nie wpisze, tak czy siak funkcja czeka aż otrzyma pakiet. Jedyne rozwiązanie (najgorsze) to wysyłanie jakiegoś żądania do serwera, tak aby zwracał pakiet za każdym przeładowaniem pętli, ale zfloodowało by to serwer i otrzymał bym kicka, więc to odpada...

Ten post edytował k00sl 10.07.2010, 11:54:22
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 6.07.2025 - 23:50