惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

量子位
S
Secure Thoughts
S
Schneier on Security
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Cyberwarzone
Cyberwarzone
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
P
Privacy International News Feed
L
Lohrmann on Cybersecurity
Schneier on Security
Schneier on Security
PCI Perspectives
PCI Perspectives
Google DeepMind News
Google DeepMind News
C
Cybersecurity and Infrastructure Security Agency CISA
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Latest news
Latest news
H
Hacker News: Front Page
月光博客
月光博客
Forbes - Security
Forbes - Security
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
S
Security @ Cisco Blogs
WordPress大学
WordPress大学
Recent Commits to openclaw:main
Recent Commits to openclaw:main
aimingoo的专栏
aimingoo的专栏
宝玉的分享
宝玉的分享
D
Docker
U
Unit 42
Recorded Future
Recorded Future
Spread Privacy
Spread Privacy
Microsoft Security Blog
Microsoft Security Blog
Recent Announcements
Recent Announcements
云风的 BLOG
云风的 BLOG
Application and Cybersecurity Blog
Application and Cybersecurity Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
H
Heimdal Security Blog
Microsoft Azure Blog
Microsoft Azure Blog
V
Vulnerabilities – Threatpost
Vercel News
Vercel News
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
爱范儿
爱范儿
博客园 - 聂微东
Hugging Face - Blog
Hugging Face - Blog
L
LangChain Blog
G
GRAHAM CLULEY
Apple Machine Learning Research
Apple Machine Learning Research
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Blog — PlanetScale
Blog — PlanetScale
博客园 - 三生石上(FineUI控件)
罗磊的独立博客
Help Net Security
Help Net Security
Google Online Security Blog
Google Online Security Blog
S
SegmentFault 最新的问题

博客园 - 大侠(cer)

阿里巴巴又抄袭创业公司产品,这次已被告上法庭(一) 手机app传统邀请码安装与免邀请码安装区别,如何选择呢? 好用的一些开源系统 一个搞笑的招聘启事 java和android及IOS对接RSA加密经验 mysql大数据表改表结构方案 android开发中监控android软件网络请求的软件Charles使用入门 android IOC框架学习记录 java分布式事务 android开发时使用游标时一定要关闭 今天发现ConcurrentHashMap的key是不区分大小写的 js方法isNaN使用时注意,“1.”这样子的东西他也会认为是数字 使用nginx+lua实现web项目的灰度发布 nginx增加lua支持 两台机器使用rsync同步数据(手工执行命令同步)(使用推的方式) 用户中心 - 博客园 ubuntu服务器配制jmagick环境 windows中架设基于Apache的svn服务器 amoeba学习
CentOS安装thrift
大侠(cer) · 2012-02-10 · via 博客园 - 大侠(cer)

1.安装jdk

2.安装ant

3.安装  ivy

a、下载apache ivy:http://labs.renren.com/apache-mirror//ant/ivy/2.2.0/apache-ivy-2.2.0-bin.tar.gz
b、tar xzvf apache-ivy-2.2.0-bin.tar.gz
c、cp ivy-2.2.0.jar to ANT_HOME/lib

d、goto apache-ivy-2.2.0/src/example/hello-ivy, and run ant,也就是在目录apache-ivy-2.2.0/src/example/hello-ivy,运行ant

如果看到: 

BUILD SUCCESSFUL

Total time: 29 seconds

就代表成了 

在centos里再执行这一句应没问题:sudo yum install automake libtool flex bison pkgconfig gcc-c++ boost-devel libevent-devel zlib-devel python-devel ruby-devel 

 哈哈

4. 安装thrift

a>下载thrift:http://mirror.bjtu.edu.cn/apache//thrift/0.8.0/thrift-0.8.0.tar.gz

b>tar -zxvf thrift-0.8.0.tar.gz

c>cd  thrift-0.8.0

d> ./configure --with-boost=/usr/local

e>make 

f>make install 

g>在命今行内输入 thrift,如果有提示,应就可以了

如果遇到"Error: libcrypto required" 错误,请安装libssl-dev

5.构建thrift java 服务器端和客户端

 a>新建testJava.thrift文件:

namespace java Test
service Something{
    i32 ping()

b>testJava.thrift目录执行如下命令:thrift –gen java testJava.thrift ,生成的源文件在./gen-java/目录下

c>进入gen-java目录

d>编写SomethingImpl.java

package Test;

import org.apache.thrift.TException;

class SomethingImpl implements Something.Iface {
    public SomethingImpl() {
    }

    public int ping() throws TException {
        System.out.println("Recieve ping from client...");
        return 0;
    }

e> Server.java

package Test;

import java.io.IOException;
import org.apache.thrift.protocol.TBinaryProtocol;
import org.apache.thrift.protocol.TBinaryProtocol.Factory;
import org.apache.thrift.server.TServer;
import org.apache.thrift.server.TSimpleServer;
import org.apache.thrift.server.TThreadPoolServer;
import org.apache.thrift.transport.TServerSocket;
import org.apache.thrift.transport.TTransportException;

public class Server {
    private void start() {
        try {
            TServerSocket serverTransport = new TServerSocket(7911);
            Something.Processor processor = new Something.Processor(new SomethingImpl());
            Factory protFactory = new TBinaryProtocol.Factory(truetrue);
            //TServer server = new TThreadPoolServer(processor, serverTransport,protFactory);
            
//TServer server = new TSimpleServer(new Args(serverTransport).processor(processor));
            TServer server = new TThreadPoolServer(new TThreadPoolServer.Args(serverTransport).processor(processor));
            System.out.println("Starting server on port 7911 ...");
            server.serve();

        } catch (TTransportException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void main(String args[]) {
        Server srv = new Server();
        srv.start();
    }

f> Client.java

package Test;

import java.io.IOException;
import org.apache.thrift.*;
import org.apache.thrift.protocol.*;
import org.apache.thrift.transport.*;

public class Client {
      public static void main(String [] args) {
           try {
                    TTransport transport = new TSocket("localhost", 7911);
                    TProtocol protocol = new TBinaryProtocol(transport);
                    Something.Client client = new Something.Client(protocol);
                    transport.open();
                    System.out.println("Client calls ping()");
                    client.ping();
                    transport.close();
               } catch (TException x) {
                    x.printStackTrace();
               }   
        }   

}  

g>要求如下几个包支持libthrift-0.8.0.jar  log4j-1.2.14.jar  slf4j-api-1.5.8.jar  slf4j-log4j12-1.5.8.jar,所以可以如下命令编译:

 javac -classpath ./:../lib/libthrift-0.8.0.jar:../lib/log4j-1.2.14.jar:../lib/slf4j-api-1.5.8.jar:../lib/slf4j-log4j12-1.5.8.jar *.java

h> 启动服务器。退到gen-java目录,输入java  -classpath ./:../lib/libthrift-0.8.0.jar:../lib/log4j-1.2.14.jar:../lib/slf4j-api-1.5.8.jar:../lib/slf4j-log4j12-1.5.8.jar Test/Server,屏幕显示如下:

Starting server on port 7911 ...

i> 启动客户端。在同一目录下输入java  -classpath ./:../lib/libthrift-0.8.0.jar:../lib/log4j-1.2.14.jar:../lib/slf4j-api-1.5.8.jar:../lib/slf4j-log4j12-1.5.8.jar  Test/Client,屏幕显示如下:

Client calls ping()

这时服务器端的输出多了一行:

Recieve ping from client...

成功了!!!!!!!!!!!!!!!!!!!!!!!! 

问题:

1.

error: command 'gcc' failed with exit status 1

install python-dev