2012-06-09 27 views
0

我需要在ubuntu中创建一个客户端(qt C++)和一个服务器(erlang)。 服务器应该是一个通用的OTP服务器。 客户端应该连接到服务器并发送一些数据(字符串),erlang srv应该返回相同的字符串。通过erlang端口在qt应用程序和erlang服务器之间进行通信

请给我一个示例代码或框架来实现这件事情。

我决定开始与此:

connect(Message) -> 
    Cmd = "./myqtwindowapp \n", 
    Port = open_port({spawn,Cmd}, [stream,use_stdio,exit_status]), 
    Payload = string:concat(Message, "\n"), 
    erlang:port_command(Port, Payload), 
    receive 
     {Port, {data, Data}} -> 
      ?DBG("Received data: ~p~n", [Data]); 
     Other -> 
      io:format("Unexpected data: ~p~n", [Other]); 
     after 15000 -> 
      ?DBG("Received nothing~n", []) 
    end. 

请帮助我的客户端和服务器。

+0

为什么你现在的代码不工作?你想要它做什么,它做什么呢? –

+0

为什么你想使用一个端口命令呢?为什么不是一个TCP端口(请参阅gen_tcp)? – Tilman

回答

0

您应该使用一些IPC来进行通信。您可以打开一个套接字(gen_tcp)或使用D-Bus。 Qt也有适当的类来处理套接字和d-bus。

相关问题