begin process at 2012 05 31 18:48:12
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

URGENT!!!!!!!!! Serveur Socket


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

URGENT!!!!!!!!! Serveur Socket

jeudi 3 avril 2003 à 13:50:05 | URGENT!!!!!!!!! Serveur Socket

Tibo82



Voilà, j'ai déjà laissé un message concernant les sockets en php et que je n'y connaissait rien. Maintenant j'ai réussi a crée un client qui fonctionne à l'aide de l'include que j'ai trouvé dans ce site.

Voilà le source du client:

<?php

// client //

include("socketnet.php");
echo "<h2>Connexion TCP/IP</h2>","\n";

$sock->debug = TRUE;

/* le port */
$port = 4001;

/* l'adresse IP du serveur de destination */
$address = "192.168.0.203";

/* Cree une socket TCP/IP. */
// creation de la socket

$sock = new socket (AF_INET, SOCK_STREAM, 0);
if ($sock < 0) {
echo "socket ne fonctionne pas\n\n";
} else {
echo " Creation de la socket OK.\n\n";
}

echo "Essai de connexion a l adresse '$address' sur le port numero '$port'...";

// demande de connexion

$sock -> Socket ($address, $port, timeout);
if ($sock < 0) {
echo "socket_connect() a : ($sock) " . socket_strerror($sock) . "\n\n";
} else {
echo " Connexion OK.\n\n";
}

// Envoi d'une requete

$sock -> puts ("m", newline); //envoi caractère
?>


Maintenant mon souci est de créer le serveur qui va avec le client et je ne trouve pas les fonctions nécessaires où je ne sais pas bien me servir des fonctiions du fichier include.

Si vous pouviez m'aider ce serait super sympa car ça compte pour mon exam.Merci

Voilà le fichier include

<?php
class Socket
var $id = 0; // id de la connexion
var $msg;
var $errno; // n° d'erreur
var $errstr; // message d'erreur correspondant au n°
var $debug = false; // si debug alors sortie de se qui ce passe :p
var $defaultlength = 4048;

/* Constructeur : établit la connexion */
function Socket($adress, $port, $timeout = null) {
if (!$timeout)
$this->id = fsockopen($adress, $port, $this->errno, $this->errstr);
else
$this->id = fsockopen($adress, $port, $this->errno, $this->errstr, $timeout);

if ($this->debug)
echo "Connexion a $adress sur le port $port (" . $this->id . ")\n<br>";
}


/* Envoi la chaine $string, avec un retour chariot si $newline n'est pas specifié comme false */
function puts($string, $newline = true) {
if ($this->debug)
echo nl2br("<font color=\"red\">" . htmlentities($string) . "</font>\n");

if ($newline)
fputs($this->id, $string . "\r\n");
else
fputs($this->id, $string);
}

/* Récuperre une chaine de $length caractères (ou $defaultlength) depuis le serveur */
function gets($length = null) {
if (!$length)
$length = $this->defaultlength;

$string = fgets($this->id, $length);

if ($this->debug)
echo nl2br("<font color=\"blue\">" . htmlentities($string) . "</font>");

return $string;
}

/* Retourne vrai si fin de "fichier" */
function eof() {
return feof($this->id);
}

/* Regle le timeout dynamiquement -> temps de connexion */
function set_timeout($value) {
socket_set_timeout($this->id);
}

/* Retourne un tableau avec des infos diverses sur la connexion */
/*function status() {
return socket_get_status($this->id);
} */

/* Lit la socket jusqu'à la fin, la ferme et retourne ce qui a été lu */
function passthru() {
$string = fpassthru($this->id);

if ($this->debug) {
echo nl2br("<font color=\"blue\">" . htmlentities($string) . "</font>");
echo "Fermeture de la connexion (" . $this->id . ")\n<br>";
}

$this->id = 0;
$this->errno = 0;
$this->errstr = "";

return $string;
}


/* Ferme la connexion */
function close() {
if ($this->debug)
echo "Fermeture de la connexion (" . $this->id . ")\n<br>";

fclose($this->id);
$this->id = 0;
$this->errno = 0;
$this->errstr = "";
}
}

?>




Cette discussion est classée dans : port, string, connexion, id, socket


Répondre à ce message

Sujets en rapport avec ce message

Socket qui marche avec 127.0.0.1 mais pas avec la vrai ip???!! [ par fredy103 ] Salut à tous,Voilà mon problème c'est avec les sockets, je crée une, je la teste avec l'adresse locale (127.0.0.1) ou réseau (192.168.***.***) et ça m [Debutant] récupérer l'entête d'une page html [ par maniolar ] Bonjour à tous voila j'aimerais realiser un outils comme celui-cihttp://www.webrankinfo.com/outils/header.php. Je voudrais juste récupérer l'en-tête d Liste deroulantes liées (en php avec bdd) qui marche presque lol [ par bandzai87 ] Enregistrement des &#233 Pb de récupération de variable de checkbox [ par paulinett ] Bonjour,J'ai créé un formulaire qui affiche un tableau dont chaque ligne correspond à un fournisseur.Pour une machine donnée, dont je récupère le nom_ connection base sql [ par lorgard ] chaloupj'ai un problem avec un script php il ne veut pas reconaitre la fonction connectvoici le code//on se connecte à la base de donnée$db = mysql_co Connexion serveur Apache [ par lap2 ] Bonjour,Je souhaite connecter mon serveur Apache sur une machine ou il y a déjà un serveur IIS sur port 80. Comment faire pour changer le port du serv Connexion socket ? [ par Evangun ] Bonsoir à tous !j'aurais besoin d'un conseil sur une connexion de mon serveur sur un autre site.En fait je veux que mon script aille s'identifier (don Recuperer les données d'1 enr d'1 table et les enregistrer dans 1 autrte table [ par popy29 ] Bonjour,Je réalise un site permettant de consulter les ventes en cours. (auto, bateaux, motos ... etc)L'administrateur doit pouvoir modifier la base d probleme insertion requete imbrique [ par G4uthier ] CREATE table SM_properties (id INT(4) NOT NULL AUTO_INCREMENT, postcode VARCHAR(9), price INT(6), branch VARCHAR(150), bedrooms int(2), address1 VARCH mon php ne s'affiche pas, sur ma page web. [ par ArnaudG76 ] Bonsoir a tous,J'ai un problème mon code php ne s'affiche pas sur ma page web, mais le message "impossible de se connecter à la base de données" s'aff


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,264 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales