ugrás a tartalomhoz

Fsockopen: teszt szerveremmel a kapcsolat létrejön, de az nem reagál

Anonymous · 2006. Nov. 13. (H), 14.42
A probléma a következő:

fsockopen-nel létrejön a kapcsolat egy teszt szerver progival, ami összesen 2db teszt függvényt ismer és egy exit parancsot. A kapcsolat létrejötte után beolvasom fgets-szel a welcome üzenetet, amit szépen meg is jelenít a böngészőben. Ezután fwrite-tal elküldök egy függvényhívást majd hozzáfűzök egy chr(13)-at, ami ugye az enter lenne. A baj csak az, hogy semmilyen formában sem reagál a függvényhívásra a teszt szerver. Tehát olyan mintha az enter-t nem fogadná el. Próbáltam még \r-rel \n-nel és \r\n-nel, de egyikre sem reagál. Ugyanezen progihoz ha telnet-tel kapcsolódok, akkor tökéletesen működik minden.

Mi lehet a probléma?
 
1

énis szívtam vele...

TeeCee · 2006. Nov. 13. (H), 15.41
... egyszer egy POP3-as klienst írtam át, ami socketelte a dolgokat. telnettel szépen kilépett (quit), de ha a PHP-ból, akkor megmaradtak a törlésre megjelölt e-mailek (ezetek a sikeres 'quit' után törli...)
A megoldás annyira égő volt, hogy nagyon. Az entert a /r/n jelenti, igenám, de dupla idézőjelben... Nem mintha ezt nem tudtam volna előre, de annyira triviális volt, hogy fél napig kerestem :D

fputs($this->sock,"QUIT\r\n");
Mindet úgy találtam meg, hogy épp felhívtam félnapi szenvedés után egy ismerősömet, hogy mi a búbánatot tudna javasolni. Épp belekérdezett, amikor megláttam, mekkora láma voltam ;)
2

Nekem alapból ...

Anonymous · 2006. Nov. 13. (H), 16.04
... dupla időzőjelben van. String-nél mindig azt használok. Szóval
fputs($fp, "EXIT\r\n");
a parancs és semmi. Abszolút nem reagál, tehát a parancsot elküldi a szerverproginak (mert az fputs nem false-szal tér vissza) csak nem üt enter-t, hogy el is fogadja azt ...