【发布时间】:2013-08-14 09:43:07
【问题描述】:
我正在尝试通过 TCP 套接字接收一些数据。当我运行下面的代码时,我得到输出:localhost^V^A^@,我知道如果使用二进制发送数据,您需要转换数据,但由于我发送的是一个列表,我认为它会收到相同的?为什么 Host 字符串显示正确,而其他数据却没有?
任何帮助将不胜感激,谢谢。
cell_process(Port, X, Y)->
Host = "localhost",
Data = [Host,Port,X,Y],
{ok, Socket} = gen_tcp:connect(Host, 22,
[list, {packet, 0}]),
ok = gen_tcp:send(Socket, Data),
ok = gen_tcp:close(Socket).
server_process(ClientList)->
{ok, Listening_socket} = gen_tcp:listen(22, [list, {packet, 0},
{active, false}]),
{ok, Socket} = gen_tcp:accept(Listening_socket),
case gen_tcp:recv(Socket,0) of
{ok,Message}->
io:fwrite(Message);
{error,Why}->io:fwrite(Why)
end.
【问题讨论】:
标签: tcp functional-programming erlang