PHP环境搭建搭建好,采用的是MySQL+Apache+PHP。
我想让我的webserver提供这样的交互命令,支持类似于XML/HTML格式的报文,
比如客户端可以发送一个XML/HTML请求报文给webserver,
然后webserver通过操作数据库可以把结果也通过XML/HTML格式返回给客户端。
请问各位大大,这样的实现应该或可以采用哪些技术?我本人对webserver这块的开发不太懂。
另外如果能够提供类似实现的模板或源码那就最好不过了。

解决方案 »

  1.   

    感谢楼上。
    这个感觉有点复杂了,能否直接通过php来实现呢?
    想听听其他大大还有什么建议。
      

  2.   

    参考。http://blog.csdn.net/ihefe/archive/2010/12/09/6066263.aspx类
    http://blog.csdn.net/ihefe/archive/2010/12/09/6066241.aspx
      

  3.   

    xmlrpc和soap(nusoap)比起来,哪个更易上手一些呢?
    我希望能在我目前php环境基础上快速开发出一个web应用来。
      

  4.   

    soap 没用过, 但是应该都差不多, 都是根据xml通信。我给你的类是1个解析xml的类。客户端和服务端都加载这个类,就可以使用我给你的(第1个连接)服务端和客户端的例子
      

  5.   

    soap应该是wsdl格式(这个格式不怎么了解)。xmlrpc是xml格式比较通用可跨语言
      

  6.   

    xmlrpc用得比较广泛,但都是大同小异,会用一个,另一个也就易上手了。
      

  7.   


    <?php   
    //server.php  
    /*
    *@link http://scripts.incutio.com/xmlrpc/
    */
    include('class-IXR.php');  //xmlrpc解析类
    class ihefeServer extends IXR_Server  
    {  
        function ihefeServer() {  
            $this->IXR_Server(array(  
            'i.h'           => 'this:sayHello',  
            ));  
        }  
        function sayHello($args) {  
            return 'HelloWorld!'.$args;  
        }  
    }  
    $serverd = new ihefeServer();  
    ?>  
    //客户端
    <?php   
    //client.php  
    include('class-IXR.php');  
    header("Content-Type:text/html;charset=utf-8");  
    $client = new IXR_Client('http://localhost/server.php');  //服务端
    //$client->debug = true;  
    function show()  
    {  
        global $client;  
        if($client) {$response = $client->getResponse();}   
        else{echo "<h2>ihefe::Error! ".$client->getErrorCode().":".$client->getErrorMessage().'</h2>';}  
        print_r($response);  
        echo "<br/><hr/><br/>";  
    }  
    // Run a query for PHP  
    $client->query('i.h',"csdn");  
    show();  
    ?>  类
    //class-IXR.php
    http://blog.csdn.net/ihefe/archive/2010/12/09/6066241.aspx
      

  8.   

    这个比你的例子还简单啊,呵呵,好的,谢谢了。
    最后再问一下,i.h是什么意思?还有'i.h'           => 'this:sayHello'
    里的=>是什么意思?
    最后的输出结果,是不是'HelloWorld!'.csdn?
      

  9.   

    WebService可以的LZ有能力的话可以自己写基于SOCKET通信的
      

  10.   

    i.h是别名,this:sayHello是本类中的函数 ,也可以不用类支持过程编程
      

  11.   

    @binyao02123202
    webservice也可以用socket?这个我熟啊,怎么搞?@ihefe
    i.h这个别名没看到是在哪起的啊?还有array的这个箭头=>是什么意思?
      

  12.   


    i.h 这个在服务端定义。应该也可以
    sockethttp://www.php100.com/html/webkaifa/PHP/PHP/2009/0417/970.html
      

  13.   

    php太牛了,果然有一套socket接口。不过用socket要考虑的东西很多,尤其是并发数和效率问题。
    我还是用xmlrpc或soap吧。这两个问题我还是没搞太明白:
        function ihefeServer() {  
            $this->IXR_Server(array(  
            'i.h'           => 'this:sayHello',  
            ));  
        } 这个函数应该是构造函数吧,这里的i.h是不是就是定义的别名?
    那这个箭头=>是什么意思呢?我都问了n遍了。。
    在客户端调用query的时候,服务端的处理流程是怎样的?
      

  14.   


    php里这样定义是数组的意思$array=array('i.h'=>'this:sayHello');'i.h'是key ,this:sayHello是value
    print_r($array);//查看数组