Jump to content


Photo

Socket Conexão Tcp


  • Faça o login para participar
3 replies to this topic

#1 Tiones

Tiones

    Turista

  • Usuários
  • 43 posts
  • Sexo:Não informado

Posted 04/09/2007, 21:18

Olá pessoal, gostaria de saber se alguém saber como fazer com que o PHP faça leitura em uma porta especifica e coloque em um banco de dados.

Tenho um equipamento modem GPRS que utiliza conexão TCP, para se comunicar com um servidor dessa forma ele colocar uma string em uma determinada porta do servidor.
Eu gostaria desaber se alguém saber como montar um script para pode pegar essa sting e manda-la para o banco de dados mysql.

#2 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 04/09/2007, 23:37

Exemplo de conexão e obtenção de dados de um servidor de tempo, via TCP:

<?php

if ($socket = @fsockopen('tcp://time.nist.gov', 13, $errno, $errstr)) {
	print stream_get_contents($socket);
} else {
	print $errstr;
}

?>
Este código é para PHP 5. Para versões inferiores, por não terem a funçãostream_get_contents(), será necessário o uso da função fread(). Exemplo:

<?php

if ($socket = @fsockopen('tcp://time.nist.gov', 13, $errno, $errstr)) {
	$output = null;

	while (!feof($socket)) {
		$output .= fread($socket, 1024);
	}
	
	print $output;
} else {
	print $errstr;
}

?>
Para maiores informações, uma consulta ao manual é bem vinda... :rolleyes:

[]’s :DAté mais

#3 Tiones

Tiones

    Turista

  • Usuários
  • 43 posts
  • Sexo:Não informado

Posted 05/09/2007, 00:40

Olá amigo, gostaria de lhe pedir que explicasse melhor o codigo, onde eu indentifico a porta em que ele fará a leitura dos pacotes, afinal modem ira colocar os pacotes em uma determinada porta especificada por mim para fazer a leiturta



Exemplo de conexão e obtenção de dados de um servidor de tempo, via TCP:

<?php

if ($socket = @fsockopen('tcp://time.nist.gov', 13, $errno, $errstr)) {
	print stream_get_contents($socket);
} else {
	print $errstr;
}

?>
Este código é para PHP 5. Para versões inferiores, por não terem a funçãostream_get_contents(), será necessário o uso da função fread(). Exemplo:

<?php

if ($socket = @fsockopen('tcp://time.nist.gov', 13, $errno, $errstr)) {
	$output = null;

	while (!feof($socket)) {
		$output .= fread($socket, 1024);
	}
	
	print $output;
} else {
	print $errstr;
}

?>
Para maiores informações, uma consulta ao manual é bem vinda... :rolleyes:

[]’s :D



#4 savior

savior

    Campanha [codebox], use ou morra :D

  • Usuários
  • 1229 posts
  • Sexo:Masculino
  • Localidade:Curitiba, PR - Brasil
  • Interesses:Na vida ;P

Posted 05/09/2007, 10:23

Se olhar a documentação do fsockopen, saberá qual parâmetro é a porta
(y)

[lastfm] [blog]

Campanha codebox: use-a ou morra!
bfmaster_duran[at]yahoo.com.br





1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq