Page 1 sur 1

Server tcp

Posté : 12 mars 2014, 10:51
par Monjis
Bonjour,

Je cherche actuellement à lancer un serveur tcp sur un site web. Le but est de pouvoir envoyer des requêtes tcp au serveur et selon leur contenu que le serveur me renvoie des réponses avec certaines valeurs. le truc c'est que mes bases en php sont assez limitées. Actuellement j'essaye d'utiliser ce code:

<!DOCTYPE html>
<html>
<head>
<title>tcp_server!</title>
</head>

<body>

#!/usr/local/bin/php -q
<?php
error_reporting(E_ALL);

/* Allow the script to hang around waiting for connections. */
set_time_limit(0);

/* Turn on implicit output flushing so we see what we're getting
* as it comes in. */
ob_implicit_flush();
$adresse = gethostbyname('www.agoraenergy.fr');
$port = 8080;

if (($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) === false) {
echo "socket_create() failed: reason: " . socket_strerror(socket_last_error()) . "\n";
}

if (socket_bind($sock, $address, $port) === false) {
echo "socket_bind() failed: reason: " . socket_strerror(socket_last_error($sock)) . "\n";
}

if (socket_listen($sock, 5) === false) {
echo "socket_listen() failed: reason: " . socket_strerror(socket_last_error($sock)) . "\n";
}

do {
if (($msgsock = socket_accept($sock)) === false) {
echo "socket_accept() failed: reason: " . socket_strerror(socket_last_error($sock)) . "\n";
break;
}
/* Send instructions. */
$msg = "\nWelcome to the PHP Test Server. \n" .
"To quit, type 'quit'. To shut down the server type 'shutdown'.\n";
socket_write($msgsock, $msg, strlen($msg));

do {
if (false === ($buf = socket_read($msgsock, 2048, PHP_NORMAL_READ))) {
echo "socket_read() failed: reason: " . socket_strerror(socket_last_error($msgsock)) . "\n";
break 2;
}
if (!$buf = trim($buf)) {
continue;
}
if ($buf == 'quit') {
break;
}
if ($buf == 'shutdown') {
socket_close($msgsock);
break 2;
}
$talkback = "PHP: You said '$buf'.\n";
socket_write($msgsock, $talkback, strlen($talkback));
echo "$buf\n";
} while (true);
socket_close($msgsock);
} while (true);

socket_close($sock);
?>

</body>
</html>


Cependant je n'arrive pas à lancer ce serveur sur mon site en ligne. Est qu'il faut juste placer ce code dans un fichier .php et le mettre dans un répertoire du site ou faut il lancer des commandes? Si vous avez d'autres codes à me proposer je suis preneur.

Re: Server tcp

Posté : 12 mars 2014, 14:23
par xTG
Est qu'il faut juste placer ce code dans un fichier .php
Assurément.
le mettre dans un répertoire du site ou faut il lancer des commandes
Bah il faut coder un client qui va venir communiquer avec ce code. ;)

Re: Server tcp

Posté : 13 mars 2014, 11:00
par Monjis
C'est bon j'ai réussi a résoudre mon problème autrement merci