【发布时间】:2016-03-29 15:49:05
【问题描述】:
我一直在使用 erlang、sfml 和 c++ 开发一个项目,以创建一个网络游戏。我已经完成了来自 erlang - erlang 的通信并取得了一些成功,但是我在集成 c++ 时遇到了一些问题。
以前我能够以这种格式发送数据(来自“客户端”):
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}));
并使用案例处理数据:
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.
有什么方法可以让我使用 C++ 像这样发送数据吗?我意识到它只是构建二进制字符串,但我不知道数据需要什么样的格式,直到现在它还没有我使用 c++ 的经验
提前致谢!!!
【问题讨论】:
-
为任何想要使用下面建议的方法的人找到这个有用的链接Link
标签: c++ binary server erlang sfml