快速业务通道

PHP或Python调用C++实现的服务器

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-24
bsp;  if ($ret[0] == code_ok) 
                echo "ok!\n"; 
            else
                echo "error: $ret[0]\n"; 
        } 
        else if ($cmd == ''q'') 
        { 
            break; 
        } 
        else
        { 
            echo "unknown command!\n"; 
        } 
    } 
 
    cerl_thread_term(); 
?>
<?php
 define(''HashSever_put'', 1);
 define(''HashSever_get'', 2);

 if (!extension_loaded(''php_cerl'')) {
  if (!dl(''php_cerl.'' . PHP_SHLIB_SUFFIX))
   die("ERROR: Cannot load php_cerl library!\n");
 }

 cerl_thread_init();

 $server = cerl_connect(''localhost:8889'', ''HashServer'');
 if (!$server)
  die("ERROR: Connect HashSever failed!\n");
 
 printf(
  "+-----------------------------------------------------------\n" .
  "| put <key> <value> - Put (key, value)\n" .
  "| get <key> - Get value of a key\n" .
  "| q - Quit\n" .
  "+-----------------------------------------------------------\n");

 for (;;)
 {
  echo "\n> ";
  list($cmd, $key, $value) = fscanf(STDIN, ''%s%d%d'');
  if ($cmd == ''get'' || $cmd == ''g'')
  {
   $ret = $server->call(HashSever_get, $key);
   if ($ret[0] == code_ok)
    echo "result: $ret[1]\n";
   else
    echo "error: $ret[0]\n";
  }
  else if ($cmd == ''put'' || $cmd == ''p'')
  {
   $ret = $server->call(HashSever_put, $key, $value);
   if ($ret[0] == code_ok)
    echo "ok!\n";
   else
    echo "error: $ret[0]\n";
  }
  else if ($cmd == ''q'')
  {
   break;
  }
  else
  {
   echo "unknown command!\n";
  }
 }

 cerl_thread_term();
?>
 

而Python写的Client样例如下:

view plaincopy to clipboardprint?
HashSever_put = 1
HashSever_get = 2
 
import sys, pycerl 
 
pycerl.thread_init() 
 
server = pycerl.connect("localhost:8889", "HashServer") 
if not server: 
  &nb

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号