[erlang-questions] Erlang C Communication - process completes but nodes are not connected
Gleber
gleber.p@REDACTED
Thu Jan 31 19:31:49 CET 2008
Hello.
This is my first post to this list, so i'm sorry for any mistakes :)
IIRC, C nodes are hidden nodes, hence net_adm:world() will not show
them. Use nodes(hidden). to list hidden nodes.
Regards,
Gleb Peregud
On 1/31/08, J Bhanot <j.bhanot@REDACTED> wrote:
> Hi,
>
> I am using C node as client
> []
>
> #include <stdio.h>
> #include <signal.h>
> #include<string.h>
> #include <sys/socket.h>
> #include <netinet/in.h>
> #include <arpa/inet.h>
> #include <sys/fcntl.h>
>
> #include "erl_interface.h"
> #include "ei.h"
>
> #define PORT 6666
>
> int sockfd, epmdfd;
>
> main()
> {
>
> struct in_addr addr;
> erl_init(NULL, 0);
>
> printf("Initializing ...");
> if(!erl_connect_init(69, "SFEWRG34AFDSGAFG35235", 0))
> {
> printf("\nerror in initialisation");
> erl_err_sys("erl_connect_init");
> printf("\nafter error in init");
> }
> printf(" done.\n");
> printf("node=%s, host=%s, alive=%s, creation=%d\n ",
> erl_thisnodename(), erl_thishostname(),
> erl_thisalivename(), erl_thiscreation());
>
>
>
>
> /*This is the short host name outgoing connect routine */
> printf("Connecting ...");
> usleep(5000);
> getchar(); //for checking
> if((sockfd = erl_connect("node1@REDACTED")) < 0)
>
> // if((sockfd = erl_connect("")) < 0)
> {
> printf("in error");
> erl_err_sys("erl_connect");
> }
> printf("\nsock = %d\n", sockfd);
> erl_err_sys("erl_connect");
> printf(" done.\n");
>
> }
>
> [/code]
>
> and Erlang node as server 'node1@REDACTED'
>
> Steps to run Erlang node :
>
>
> erl -setcookie SFEWRG34AFDSGAFG35235 -name node1
> Created a file named $HOME/.hosts.erlang having contents as
> 'node1@REDACTED'.
> 'c69@REDACTED'.
>
>
> The output for c file upon execution is
>
> [root@REDACTED otp_src_R12B-0]# ./mytest
> Initializing ... done.
> node=c69@REDACTED, host=localhost, alive=c69, creation=0
> Connecting ...
> sock = 3
> erl_connect: Success
>
>
> but at erlang node when i execute the command :
> (node1@REDACTED)8> net_adm:world().
>
> i get the output as :
> []
>
> similalry
>
> (node1@REDACTED)9> nodes().
> []
> (node1@REDACTED)10>
>
>
> That is no node is connected to it....
>
> Now the point is C node has successfully connected ....
>
> Why Erlang node is not showing it as connected....
>
> Do we need to register the C node with EPMD even when it is acting as a
> client...
>
> Do we need to register Erlang node with EPMD as well and if yes the how do
> we do that..
>
> Note : I am using putty to connect to single linux server (FC8).
>
> Appreciate your help...
>
> Many Thanks,
>
> jb
>
>
>
>
>
> ____________________________________________
> =====-----=====-----=====
> Notice: The information contained in this e-mail
> message and/or attachments to it may contain
> confidential or privileged information. If you are
> not the intended recipient, any dissemination, use,
> review, distribution, printing or copying of the
> information contained in this e-mail message
> and/or attachments to it are strictly prohibited. If
> you have received this communication in error,
> please notify us by reply e-mail or telephone and
> immediately and permanently delete the message
> and any attachments. Thank you
>
>
>
--
Gleb Peregud
http://gleber.pl/
"Only two things are infinite, the universe and human stupidity, and
I'm not sure about the former."
-- Albert Einstein
More information about the erlang-questions
mailing list