2016-03-29 20 views
1

Ağa bağlı bir oyun oluşturmak için erlang, sfml ve C++ kullanarak bir proje geliştirmekteyim. Bazı başarılarla erlang - erlang'dan iletişim kurdum, ancak C++ 'yı kesişen bazı sorunlarla karşılaşıyorum. dava kullanarak veriC++ (ikili gönderme) üzerinden erlang sunucusu ile iletişim kurma

gen_tcp:send(Socket, term_to_binary({Cmd, Parameters})); 
gen_tcp:send(Socket, term_to_binary({Cmd, {P1, P2}, P3})); 
gen_tcp:send(Socket, term_to_binary({Cmd})); 
gen_tcp:send(Socket, term_to_binary({Cmd, Msg})); 

Ve işlemek:

Daha önce i ('istemci' dan) bu biçimde veri göndermek başardı benim için herhangi bir yolu

client_handler(Socket) -> 
io:format("Waiting for data...~n", []), 

case gen_tcp:recv(Socket, 0) of 
{ok, Bin} -> 
    Cmd = binary_to_term(Bin), 
    io:format("Command '~p' received.~n", [Cmd]), 

case Cmd of 
    {register, NewAtom} ->   
     %%Do Stuff   
    {update_transform, {X,Y}, Rot} -> 
     %%Do Stuff  
    {get_transform} -> 
     %%Do Stuff 
    {send_message, Msg} -> 
     %%Do Stuff  
    _ -> 
     %%Do Stuff 
    end, 

client_handler(Socket); 

{error, _} -> 
    io:format("Lost connection to client!~n", []) 
end. 

var mı C++ kullanarak bunun gibi verileri göndermek için? Ben sadece bina binary sokmaları farkındayım ama ne kadar veri l lemek için hangi biçimi gerektiğini bilmiyorum ben bir şey yapmadım ben C++ ile herhangi bir deneyim yaşadım ben +

Şimdiden teşekkürler !!!

+0

[Link] 'de önerilen yöntemi kullanmak isteyen herkes için bu yararlı bağlantıyı bulundu [Link] (http://erlang.org/doc/apps/erl_interface/erl_interface.pdf) –

cevap

3

C++/C, bir soket üzerinden bir Erlang uygulaması göndermek ve Erlang terimlerini de çözmek ve deşifre etmek için verileri Erlang terimlerine kodlamak için ei library'u kullanabilir. Böyle bir C++/C uygulaması yazmak sıkıcıdır, ancak temel kodu yerine getirdiğinizde oldukça iyi çalışır.

Ayrıca, Distributed Erlang aracılığıyla bir Erlang düğümüyle iletişim kuran bir C node adı verilen bir Erlang düğümü yazmak da mümkündür. JInterface package'u kullanarak Java için de aynısını yapabilirsiniz. Erlang düğümüne böyle bir düğüm kendi kümesinde başka bir düğüm olarak görünür. ei uygulamalarında olduğu gibi, bu düğümleri yazmak sıkıcı olabilir, ancak Erlang kümelenmesine sorunsuz ve güvenli bir şekilde entegre etmek istediğiniz Erlang kodunuz olduğunda kullanışlı olabilirler.

+0

Şerefe, Şerefe bir bakalım Bu, ve bazı başarılı sonuçlar alırsanız geri rapor !!!! –

İlgili konular