+ -
当前位置:首页 → 问答吧 → PHPRPC只应用实例----播放器DEMO----抛弃ajax--建立我们自己的云计算--让SOA更精彩

PHPRPC只应用实例----播放器DEMO----抛弃ajax--建立我们自己的云计算--让SOA更精彩

时间:2009-02-23

来源:互联网

LibreMusic.zip (357.28 KB)
客户端源码
下载次数: 99
2009-2-23 16:24
C#--PHP--MySQL--PHPRPC的播放器!

这个项目是为采集来的歌手,歌曲,专辑名称歌曲url制作的播放DEMO

PHPRPC在这个项目中负责数据服务中间件,负责写入和检索数据对外提供数据库接口。

ps:我习惯性的使用PHPRPC做数据服务中间件。

c#客户端,PHP做服务端,数据库用的是MySQL。

PHPRPC使用的是PHPRPC for PHP 3.0.1

PHPRPC 是一个轻型的、安全的、跨网际的、跨语言的、跨平台的、跨环境的、跨域的、支持复杂对象传输的、支持引用参数传递的、支持内容输出重定向的、支持分级错误处理的、支持会话的、面向服务的高性能远程过程调用协议。
http://www.phprpc.org

下载 (61.77 KB)
2009-2-23 16:24





下载 (80.79 KB)
2009-2-23 16:24


-----------------------------------------------以下是服务端PHP代码-------------------------------------------------------------------
config.class.php

<?php
class Config
{
//InitDB
const DBType="mysql";   //DataBaseType
const DBHost="127.0.0.1";  //ServerIP
const DBUser="root";   //UserName
const DBPassWord="123456"; //PassWord
const DBName="LibreMusic";  //DabaBaseName
  
}
?>



db.class.php


<?php
require_once("config.class.php");
class DB extends Config
{
//Class Var
private $pdo=null;
private $fetchmode_assoc=PDO::FETCH_ASSOC;
//构造函数
public function __construct()
{
  $dns=parent::DBType.":host=".parent::DBHost.";dbname=".parent::DBName;
  $this->pdo = new PDO($dns,parent::DBUser,parent::DBPassWord);
  //$this->Query("set names utf-8");
  $this->Query("set names gb2312");
}
public function getPDO()
{
  return $this->pdo;
}


//执行sql语句
public function Query($sql)
{
  return $this->pdo->query($sql);
}

public function Execute($sql)
{
  return $this->pdo->exec($sql);
}

//获取所有记录
public function fetchAll($sql)
{
  $rs=$this->Query($sql);
  return $rs->fetchAll($this->fetchmode);
}

//获取单个记录
public function Fetch($sql)
{
  $rs=$this->Query($sql);
  return $rs->fetch($this->fetchmode_assoc);
}

}
?>



music.class.php
[php]

<?php
class Music extends DB
{
public function __construct()
{
  parent::__construct();
}
public function GetSonger($sex="男",$addr="华人")
{
  $sql="select * from songer where s_sex='$sex' and s_class='$addr'";
  return $this->fetchAll($sql);
  //$arr[]=array("你好么",iconv("gb2312","utf-8","你好"));
  //return $arr;
}
public function GetRecord($s_id)
{
  $sql="select `re_name`, `re_mp3url`, `r_name`, `s_name`,`re_url` FROM `repertoire` where s_id='$s_id'";
  return $this->fetchAll($sql);
}
public function SetAuthCode($codestr)
{
  return file_get_contents("http://1111111.6621.com/getuuauthcode");
}
};
?>
[/php]

api.php


<?php
require_once("server/phprpc_server.php");
require_once("db.class.php");
require_once("music.class.php");
$rpc = new phprpc_server();
$rpc->setCharset("GBK");
$rpc->add(array(
"GetSonger",
"GetRecord",
"SetAuthCode"
),new Music());
$rpc->start();
//$m =new Music();
//print_r($m->GetRecord(1350));
?>


LibreMusic.zip (357.28 KB)
客户端c#源码
下载次数: 167
2009-2-23 16:25


作者: T.T.R   发布时间: 2009-02-23

牛X啊 !!!支持

作者: wzj5   发布时间: 2009-02-23

太性感了!

作者: andot   发布时间: 2009-02-23

太讚了,這個應用很酷

作者: bawbaw   发布时间: 2009-02-23

绝对支持!希望楼主和我联系,我的联系方式在资料里都有。

作者: PHPChina   发布时间: 2009-03-02

好玩

作者: ylcz   发布时间: 2009-03-03

太强了!

作者: naodai   发布时间: 2009-03-03

酷!强!问一下,显示的界面是C#做的?

作者: zxe   发布时间: 2009-12-23

不错,学习了啊

作者: chenlong1985   发布时间: 2010-01-04

哇 管理员 都上急了。

看来是很不错。研究下,

作者: Niger   发布时间: 2010-01-05

~~~ 看不懂~~

作者: yoeen   发布时间: 2010-01-05

感觉还行

作者: darkst   发布时间: 2010-01-05

初次接触看不懂,要好好学习

作者: jellee520   发布时间: 2010-01-05