2010-03-01 4 views
0

J'exécute une fonction: @socket_recvfrom ($ this-> socket, $ buf, 8192, 0, $ à partir de, $ port);Essayer d'exécuter la fonction socket_recvfrom mais il renvoie une erreur: socket_recvfrom(): impossible de recvfrom [0]: L'opération s'est terminée avec succès

mais cela renvoie une erreur en disant:

socket_recvfrom(): unable to recvfrom [0]: The operation completed successfully.

Toute personne qui a une idée à ce sujet? Qu'est-ce que ça veut dire?

OS: Windows

PHP: 5.3

Morten

+0

Pourquoi l'opérateur @ ne supprime-t-il pas l'erreur? – Morten

+0

Pouvez-vous poster un peu plus de code/plus de détails? –

Répondre

0

Il pourrait signifier que la prise est non bloquant et il n'y avait pas de données mises en mémoire tampon disponible lorsque la fonction a été appelée, ou que la douille reçu un message hors bande. Ou que le socket n'a pas été créé correctement en premier lieu. Le [0] après le "incapable de recvfrom" me fait penser que cela pourrait être l'ID de ressource pour le socket - ce qui ne serait pas 0 si te socket a été créé avec succès.

C.

+0

Il est très probable qu'il n'y a pas de données dans le tampon. Mais pourquoi l'opérateur @ ne supprimera-t-il pas l'avertissement? J'utilise le code dans un environnement ZEND connu sous le nom de php4Delphi (psv). Le moteur PHP signale l'avertissement comme une erreur et met fin au script même si je mets le error_reporting à E_ALL | ~ E_AVERTISSEMENT ..Strange Morten – Morten