TCP ソケット経由でデータを受信しようとしています。以下のコードを実行すると、次の出力が得られます: localhost^V^A^@。バイナリを使用してデータを送信する場合、データを変換する必要があることは承知していますが、リストを送信しているので、同じように受信されると思っていました。 ? ホスト文字列は正しく表示されるのに、他のデータが表示されないのはなぜですか?
どんな助けでも大歓迎です、ありがとう。
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.