<?
//------socket开始------------------------------------------------
function socket_smj($send){
error_reporting(E_ALL);
set_time_limit(0);
//echo "<h2>TCP/IP Connection</h2>/n";
$service_port = 0;
$address = "0.0.0.33";//
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket < 0)
{
echo "socket_create() failed: reason: " . socket_strerror($socket) . "/n";
}else
{
//echo "创建socket成功<br>/n";
}
//echo "试图连接 '$address' 端口 '$service_port'...<br>";
$result = socket_connect($socket, $address, $service_port);
if ($result < 0)
{
echo "socket_connect() failed./nReason: ($result) " . socket_strerror($result) . "/n";
}else
{
// echo "连接OK<br>";
}
if(!socket_send($socket, $send, strlen($send),0))
{
echo "socket_write() failed: reason: " . socket_strerror($socket) . "/n";
}else
{
//echo "发送到服务器信息成功!<br>";
}
/* socket_recv($socket,$str,512,0); // 接收返回报文长度
if (!empty($str))
{
echo "<br>".$str;
//unset($str);
socket_close($socket); // 关闭tcp连接
}*/
$str='';
@socket_recv($socket,$str,8,0);
if (!empty($str))
{
$len = substr($str,4,7);
//echo "<br>".$len;
$back='';
$back=$str;
unset($str);
while ($len > 0)
{
$rev_r2 = @socket_recv($socket,$str,1,0);
$back .= $str;
$len -= 1;
}
$str = $back;
// echo "<br>".$str;
}
socket_close($socket);
return $str;
}
//------------socket结束-----------------------------------------------------
?>