안녕하세요 저는 Erlang에서 새로운 꿀벌이지만 수동 모드에서 클라이언트를 받아들이고 메시지를 표시하는 간단한 TCP 서버를 만들 수있었습니다. 새 클라이언트가 서버에 연결할 때마다 새 프로세스가 생성됩니다. 클라이언트가 연결될 때 생성되는 프로세스를 사용하여 클라이언트에 메시지를 보낼 수있는 방법이 있습니까?Erlang : Tcp Server
다음은 코드입니다.
-module(test).
-export([startserver/0]).
startserver()->
{ok, ListenSocket}=gen_tcp:listen(1235,[binary,{active, false}]),
connect(ListenSocket).
connect(ListenSocket)->
{ok, UserSocket}=gen_tcp:accept(ListenSocket),
Pid=spawn(? MODULE, user,[UserSocket]),
gen_tcp:controlling_process(UserSocket, Pid),
connect(ListenSocket).
user(UserSocket)->
case gen_tcp:recv(UserSocket, 0) of.
{ok, Binary}->% Send basic message.
{error, closed}->% operation on close.
end.
내가 할 수있는 것처럼 느껴지나요?
Pid!{"Some Message"}
. http://learnyousomeerlang.com/buckets-of-sockets#sockserv-revisited
당신이 당신의 연결 루프 대신 gen_server를 사용하는 경우 : 그리고 메시지가
답장을 보내 주셔서 감사합니다. gen_server() 사용 방법에 대한 참고 자료를 제공해 주시겠습니까? – Rs9766
@ Rs9766 읽기 http://www.erlang.org/doc/man/gen_server.html 및 http://www.erlang.org/doc/design_principles/gen_server_concepts.html – rvirding
감사합니다. 서버 개념을 설명하는 책을 가져 왔습니다. 문서는 자명하다. – Rs9766