Jump to content
Fórum Script Brasil
  • 0

Socket


Guest Wanderley

Question

Guest Wanderley

Saudações.

Estou tentando fazer uma conexão por socket em PHP porem não estou conseguindo a comunicação do Cliente com o Servidor:

Codigo do Cliente:

<?php
error_reporting (E_ALL);

echo "<h2>TCP/IP Connection</h2>\n";

/* Get the port for the WWW service. */
$service_port = getservbyname ('8896', 'tcp');

/* Get the IP address for the target host. */
$address = gethostbyname ('10.10.32.15');

/* Create a TCP/IP socket. */
$socket = socket_create (AF_INET, SOCK_STREAM, 0);
if ($socket < 0) {
   echo "socket_create() failed: reason: " . socket_strerror ($socket) . "\n";
} else {
   echo "OK.\n";
}

echo "Attempting to connect to '$address' on port '$service_port'...";
$result = socket_connect ($socket, $address, $service_port);
if ($result < 0) {
   echo "socket_connect() failed.\nReason: ($result) " . socket_strerror($result) . "\n";
} else {
   echo "OK.\n";
}

$in = "HEAD / HTTP/1.0\r\n\r\n";
$out = '';

echo "Sending HTTP HEAD request...";
socket_write ($socket, $in, strlen ($in));
echo "OK.\n";

echo "Reading response:\n\n";
while ($out = socket_read ($socket, 2048)) {
   echo $out;
}

echo "Closing socket...";
socket_close ($socket);
echo "OK.\n\n";
?>

na conexão eu recebo o seguinte erro:

OK. Attempting to connect to '10.10.32.15' on port ''...

Warning: socket_connect() unable to connect [10049]: O endereço solicitado não é válido no contexto. in c:\apache\htdocs\wap\socket.php on line 21

OK. Sending HTTP HEAD request...

Warning: socket_write() unable to write to socket [10057]: Uma solicitação de envio ou recebimento de dados não foi permitida porque o soquete não está conectado e (durante o envio em um soquete de datagrama usando-se uma chamada sendto) não foi fornecido um endereço. in c:\apache\htdocs\wap\socket.php on line 32

OK. Reading response:

Warning: socket_read() unable to read from socket [10057]: Uma solicitação de envio ou recebimento de dados não foi permitida porque o soquete não está conectado e (durante o envio em um soquete de datagrama usando-se uma chamada sendto) não foi fornecido um endereço. in c:\apache\htdocs\wap\socket.php on line 36

Closing socket...OK.

alguém saberia me ajudar nesta situação??

grato

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

Antes das chamadas use @ pra setar os warnings pra 0

tipow

$service_port = @getservbyname ('8896', 'tcp');

E reveja esse IP que parece estar errado

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      651.9k
×
×
  • Create New...