[erlang-questions] Erlang C Communication - process completes but nodes are not connected

J Bhanot <>
Thu Jan 31 16:22:38 CET 2008


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("")) < 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 ''

Steps to run Erlang node :

 
erl -setcookie SFEWRG34AFDSGAFG35235 -name node1
Created a file named $HOME/.hosts.erlang having contents as 
''.
''.
 

The output for c file upon execution is

[ otp_src_R12B-0]# ./mytest
Initializing ... done.
node=, host=localhost, alive=c69, creation=0
 Connecting ...
sock = 3
erl_connect: Success


but at erlang node when i execute the command :
()8> net_adm:world().

i get the output as :
[]

similalry 

()9> nodes().
[]
()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


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20080131/16abe02e/attachment.html>


More information about the erlang-questions mailing list