2012-06-09 28 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。

相關問題