`
hideto
  • 浏览: 2678141 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

gen_server Hello World

阅读更多
简单的gen_server Hello World程序

代码:
-module(genserver).
-behaviour(gen_server).
-export([start/0, hello/1]).
-export([init/1, handle_call/3, handle_cast/2, handle_info/2, terminate/2, code_change/3]).

start() -> 
  gen_server:start_link({local, ?MODULE}, ?MODULE, [], []).

hello(Name) ->
  Reply = gen_server:call(?MODULE, {hello, Name}),
  io:format("~s~n", [Reply]).

handle_call({hello, Name}, _From, State) ->
  Reply = lists:append(["Hello, ", Name, "!"]),
  {reply, Reply, State}.

init(_Args) ->
  {ok, init}.
handle_cast(_Request, State) ->
  {noreply, State}.
handle_info(_Info, State) ->
  {noreplay, State}. 
terminate(_Reason, _State) ->
  ok.
code_change(_OldVsn, State, _Extra) ->
  {ok, State}.


编译:
Eshell> c(genserver).


运行:
Eshell> genserver:start().
Eshell> genserver:hello("Hideto").


输出结果:
Hello, Hideto!
分享到:
评论

相关推荐

    基于c++实现的GRPC服务端demo

    protoc -I=$SRC_DIR --grpc_out=$DST_DIR --plugin=protoc-gen-grpc=`which grpc_cpp_plugin` $SRC_DIR/helloworld.proto protoc -I=$SRC_DIR --cpp_out=$DST_DIR $SRC_DIR/helloworld.proto ``` 4. **实现...

    python实现的RPC例子

    from gen-py.HelloWorld import Processor, HelloWorld from threading import Thread class MyHelloWorldHandler(HelloWorld.Iface): def sayHello(self, msg): return "result: " + msg def run_server():...

    thrift java hello

    在生成的代码中,找到`HelloWorld$Iface`和`HelloWorld$Processor`接口,以及对应的`HelloWorldHandler`类,实现`sayHello`方法。例如: ```java public class HelloWorldHandler implements HelloWorld.Iface { ...

    HIDL最全编译流程 .pdf

    - **C++客户端**:使用生成的C++实现文件,通过HIDL接口调用硬件服务的方法,如`IGunder::helloWorld()`。 - **Android客户端**:生成的Java接口可以被Android应用中的Service或Activity引用,通过Android的Binder...

    Thrift的第一个例子

    thrift -gen java helloworld.thrift ``` 这将生成一个`gen-java`目录,其中包含了服务接口、数据结构以及必要的辅助类。 然后,我们需要实现服务端代码。在Java中,这通常涉及到创建一个实现了`HelloWorld`接口的...

    Erlang中文手册

    - 示例:`io:format("Hello, World!~n").` **1.2.8 一个更大的例子** - **示例**: 实现一个简单的计算器程序,可以进行加、减、乘、除运算。 - **步骤**: - 定义函数接收两个数字和一个运算符。 - 使用条件语句...

    gRpcDemo.rar

    protoc -I=$SRC_DIR --grpc_out=$DST_DIR --plugin=protoc-gen-grpc=`which grpc_csharp_plugin` $SRC_DIR/helloworld.proto ``` 3. **创建gRpc服务**: 在.NET Core项目中创建服务实现。根据生成的`IGreeter`接口,...

    thrift python example

    client.say_hello("World") ``` 这段代码创建了一个HTTP连接到服务器,并通过`say_hello`方法发送一个请求。 Thrift的性能优化包括使用二进制协议(TBinaryProtocol)而非默认的文本协议(TJSONProtocol),以及...

    Python库 | grpcio_tools-1.37.0rc1-cp39-cp39-win_amd64.whl

    这将生成`helloworld_pb2.py`和`helloworld_pb2_grpc.py`两个文件,分别包含了服务定义的普通Python类和gRPC相关的扩展。 **4. gRPC服务的实现** 在生成Python代码之后,你可以编写服务端代码(server)和客户端...

    php_thrift_python安装测试记录

    $result = $client->hello('World'); $transport->close(); echo "Received: " . $result . "\n"; ``` 在Python端,我们需要启动Thrift服务器,实现服务逻辑: ```python from my_service.ttypes import * from ...

    python golang中grpc 使用示例代码详解

    response = stub.SayHello(hello_pb2.HelloRequest(name="World")) print("Greeter client received: " + response.message) ``` ### Golang中的gRPC 对于Golang,步骤类似,但语法和库不同。首先,安装gRPC和...

    在springboot上添加grpc

    例如,创建一个名为`helloworld.proto`的.proto文件: ```protobuf syntax = "proto3"; package helloworld; service Greeter { rpc SayHello (HelloRequest) returns (HelloReply) {} } message HelloRequest { ...

    grpc-perl:使用官方gRPC共享库的gRPC的Perl 5实现

    这将生成 `helloworld.pb.pm` 和 `helloworld_grpc.pb.pm` 文件。 #### 实现服务端 创建一个 Perl 脚本,实现 `Greeter` 服务: ```perl use strict; use warnings; use helloworld::Greeter; use GRPC::Server; ...

    gRPC框架初探

    // 实现helloworld.GreeterServer方法SayHello func (s *server) SayHello(ctx context.Context, in *pb.HelloRequest) (*pb.HelloReply, error) { return &pb.HelloReply{Message: "Hello " + in.Name}, nil } ...

    node-grpc-typescript:使用nodejs和typescript的示例实现grpc

    这将生成`helloworld_pb.d.ts`和`helloworld_pb.js`文件,包含了服务和消息类型的定义。 现在,我们可以编写服务器端代码: ```typescript import * as grpc from '@grpc/grpc-js'; import { GreeterService } ...

    gRPC项目

    这将生成 `helloworld_pb.js` 和 `helloworld_grpc_pb.js` 文件,分别包含消息类型和 gRPC 服务接口。 3. **实现服务端** 在 Node.js 中,你可以使用生成的代码创建 gRPC 服务器并实现服务接口: ```javascript...

    tornado参考1

    在这个例子中,`MainHandler` 处理所有根路径("/")的 GET 请求,并返回 "Hello, world"。 Tornado 的异步特性允许在处理请求时执行非阻塞操作,例如等待网络 I/O 或定时任务。通过使用 `yield` 关键字(在 Python...

    4基于 Tornado 的 HTTP 服务器简介及代码组织框架(1).md

    Tornado的入门非常简单,通常从一个`HelloWorld`级别的应用开始。下面是一个典型的Tornado入门级代码示例: ```python import tornado.ioloop import tornado.web class MainHandler(tornado.web.RequestHandler):...

    tornado-async-tcp:异步 tcp 服务器和客户端

    response = f"Hello, {data.decode()}!\n" yield stream.write(response) if __name__ == '__main__': server = AsyncTcpServer() server.listen(8888) tornado.ioloop.IOLoop.current().start() ``` - ...

    grpc-demo:php客户端和golang服务器

    return &greeter_server.HelloReply{Message: "Hello, " + in.Name}, nil } func main() { lis, err := net.Listen("tcp", ":50051") if err != nil { log.Fatalf("Failed to listen: %v", err) } s := grpc...

Global site tag (gtag.js) - Google Analytics