Avatar billede hmortensen Nybegynder
07. november 2004 - 00:08 Der er 5 kommentarer og
1 løsning

Læse fra socket

Hejsa

Når jeg bruger socket_read() får jeg denne fejl:
socket_read() unable to read from socket [0]

Jeg bruger php 4.3.9 på win

while($data = socket_read($socket,2046,PHP_NORMAL_READ)) {

Hvad kan jeg gøre ved det ?
Avatar billede coderdk Praktikant
07. november 2004 - 00:27 #1
Det lyder som om du ikke har fået lavet et ordentligt socket med socket_create...
http://dk2.php.net/socket_create
Avatar billede hmortensen Nybegynder
07. november 2004 - 00:30 #2
Jeg laver min socket sådan her:
$socket = socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
Avatar billede coderdk Praktikant
07. november 2004 - 00:39 #3
Så må det være din socket_accept eller din socket_connect der fejler ;)
Avatar billede hmortensen Nybegynder
07. november 2004 - 00:41 #4
Jeg har lige prøvet at søge på fejlen, og der andre der har den. Så vidt jeg kan forstå, er det en bug.

Jeg kan heller ikke se nogle fejl i min meget simple kode:

$socket = socket_create(AF_INET,SOCK_STREAM,SOL_TCP);
$connection = socket_connect($socket, 'Amsterdam.NL.EU.undernet.org', 6667);
if (!$connection) {
    echo "Connection falied!";
    exit;
}
while($data = socket_read($socket,2046,PHP_NORMAL_READ)) {
    echo $data;
}
Avatar billede hmortensen Nybegynder
07. november 2004 - 14:33 #5
Jeg fandt den her bug repport:
http://bugs.php.net/bug.php?id=21197

Der står at man skal prøve og fjerne 3. argument, og det hjalp.
Avatar billede hmortensen Nybegynder
07. november 2004 - 15:11 #6
Det virker så ikke hvis man vil sende mere end et tegn, men det gør det her:
$input = "";
while(($buf = socket_read($incoming, 1024)) !== false) {
  $input .= $buf;
  if(preg_match("'\r\n$'s", $input))
  break;
}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester