[RESOLU] Server tcp

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Server tcp

Re: Server tcp

par Monjis » 13 mars 2014, 11:00

C'est bon j'ai réussi a résoudre mon problème autrement merci

Re: Server tcp

par xTG » 12 mars 2014, 14:23

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. ;)

Server tcp

par Monjis » 12 mars 2014, 10:51

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.