嗨,我是Erlang的新蜜蜂,但设法创建一个简单的TCP服务器,接受被动模式的客户端并显示消息.每次新客户端连接到服务器时,我都会生成一个新进程.有没有办法可以使用客户端连接时生成的进程向客户端发送消息.
这是代码.
-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.
Run Code Online (Sandbox Code Playgroud)
如果我这样做,我可以做些什么.
Pid!{"Some Message"}.并且消息被发送到与非阻塞io的进程相关联的套接字,
考虑一部电话,它与电话A连接到wifi,地址为Dynamic Ip,ex:192.168.0.34并通过服务器套接字在上侦听,port 7567,如果我有另一部电话B连接公用电话,则可以使用任何编程语言连接该套接字。 IP说10.0.0.56,我有WiFi路由器IP说前55.56.89.76 ?