Jump to content

sokets php


emanuelx
 Share

Recommended Posts

Boas, estava aqui a fazer um teste drive com os sokets php, mas não estou a conseguir, o mais certo é não funcionar.

Eu tenho um sever no localhost no ip 191.168.1.50, através do php é possível eu me conectar a um servidor que está noutro computador mas na mesma rede local, neste caso seria 192.68.1.51?

com calma e sem stresses

Link to comment
Share on other sites

apresenta o teste que fizeste para ver onde corrigir

não é nada de especial, isto saquei na net, o problema é que não me consigo conectar, mas numa app em java(Processing) e vb.net consigo me ligar ao servidor.

<?php
// set some variables
$key ="key=37";
$host = "192.168.1.66";
$port = 8082;
$timeout= 0;
echo "teste1a";

$client = stream_socket_client("udp://$host:8082", $errno, $errorMessage);
var_dump($client);
if ($client === false) {
echo("Failed to connect: $errorMessage");
}

//fwrite($client, "GET / HTTP/1.0\r\nHost: www.example.com\r\nAccept: */*\r\n\r\n");
echo stream_get_contents($client);
//fclose($client);

?>

já testei tcp udp, já activei os sockets no php.ini

com calma e sem stresses

Link to comment
Share on other sites

http://www.php.net/manual/en/function.stream-socket-client.php

<?php
$fp = stream_socket_client("tcp://www.example.com:80", $errno, $errstr, 30);
if (!$fp) {
   echo "$errstr ($errno)<br />\n";
} else {
   fwrite($fp, "GET / HTTP/1.0\r\nHost: www.example.com\r\nAccept: */*\r\n\r\n");
   while (!feof($fp)) {
       echo fgets($fp, 1024);
   }
   fclose($fp);
}
?>

depois de adaptar ao teu exemplo, quais as mensagens que te são apresentadas ?

IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

http://www.php.net/manual/en/function.stream-socket-client.php

<?php
$fp = stream_socket_client("tcp://www.example.com:80", $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
fwrite($fp, "GET / HTTP/1.0\r\nHost: www.example.com\r\nAccept: */*\r\n\r\n");
while (!feof($fp)) {
	echo fgets($fp, 1024);
}
fclose($fp);
}
?>

depois de adaptar ao teu exemplo, quais as mensagens que te são apresentadas ?

fica a pensar e não se mexe, o mais certo é não funcionar.

tcp://192.168.1.66:8082

já testei udp e outros código e acontece sempre o mesmo, se não funcionar não há crise, não funciona com php vou testar com java applet.

com calma e sem stresses

Link to comment
Share on other sites

experimenta com socket de mais baixo nivel:

<?php
$fp = fsockopen("192.168.1.66", 8082);
if (!$fp) {
   echo "Unable to open\n";
} else {

   fwrite($fp, "GET / HTTP/1.0\r\n\r\n");
   stream_set_timeout($fp, 2);
   $res = fread($fp, 2000);

   $info = stream_get_meta_data($fp);
   fclose($fp);

   if ($info['timed_out']) {
       echo 'Connection timed out!';
   } else {
       echo $res;
   }

}
?>
IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.