<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2800.1106" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>You may achieve this using following 
steps:</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>1)  Open your local host file -- for windows 
that would be under C:\WINDOWS\system32\drivers\etc\hosts (make sure that you're 
using the right HOSTS file)</FONT></DIV>
<DIV><FONT face=Arial size=2>2)  Add an alias to the localhost and save 
changes i.e.</FONT></DIV>
<DIV><FONT face=Arial size=2>        
127.0.0.1  localhost theErlangHost</FONT></DIV>
<DIV><FONT face=Arial size=2>3) Start erlang using:</FONT></DIV>
<DIV><FONT face=Arial size=2>    erl -sname <A 
href="mailto:node1@theErlangHost">node1@theErlangHost</A></FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>This will force any other local erlang node to 
connect using 127.0.0.1</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>In order to allow remote nodes to connect as well, 
you would need to configure remote host file like this:</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>192.168.0.30 theErlangHost</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>which will allow remote nodes to come in using the 
LAN interface.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>EXPLANATION:</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>If you run command  "epmd -names" the epmd 
will return list of names and associated port numbers, for example:</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>epmd: up and running on port 4369 with 
data:<BR>name node1 at port 3527<BR>name node2 at port 
3513</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>If you then go and chack the listeners for these 
ports, you're likely to find something like this:</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>TCP    
0.0.0.0:3513           
0.0.0.0:0              
LISTENING</FONT></DIV>
<DIV>
<DIV><FONT face=Arial size=2>TCP    
0.0.0.0:3527           
0.0.0.0:0              
LISTENING</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>This means that transport layer supports any 
available incoming interface, thus everything is in address 
resolution:</FONT></DIV>
<DIV><FONT face=Arial size=2>Local node will resolve theErlangHost as 127.0.0.1, 
whislt remote shall use 192.168.0.30.</FONT></DIV>
<DIV><FONT face=Arial size=2>The important thing is to keep the symbolic host 
name the same, as it is used by net-kernel. (It is interesting though, that 
hidden C-nodes are not required to use the symbolic host names -- plain IP 
address does the trick).</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>The same is true for other operating systems as 
well.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Tell me if this makes any sense to 
you.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>Valentin.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>PS</FONT></DIV>
<DIV><FONT face=Arial size=2>Funny thing is that I've been discussing similar 
(yet completely different thing) with Francesco yesterday, and he 
suggested startup syntax  erl -sname <A 
href="mailto:sys@Host">sys@Host</A>.</FONT></DIV>
<DIV><FONT face=Arial size=2>It did not help me solve my problem -- no 
matter what I've tried it resulted in failure. However, the consequences of 
these failure is the above -- I'd be very pleased if it can help 
you.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>BTW: anybody knows how to force a single erlang 
run-time to support two, or more internal hostnames, i.e.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>If I have two interfaces:</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>10.0.0.2    
host_private</FONT></DIV>
<DIV><FONT face=Arial size=2>198.1.2.3  host_public</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>How can I start node1 in such a way that both 
</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>rpc:call( <A 
href="mailto:'node1@host_private'">'node1@host_private'</A>, os, type, 
[]).</FONT></DIV>
<DIV><FONT face=Arial size=2>and</FONT></DIV>
<DIV><FONT face=Arial size=2>
<DIV><FONT face=Arial size=2>rpc:call( <A 
href="mailto:'node1@host_public'">'node1@host_public'</A>, os, type, 
[]).</FONT></DIV>
<DIV> </DIV>
<DIV>connect to the same node1?</DIV>
<DIV> </DIV>
<DIV> </DIV></FONT></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<DIV><FONT face=Arial size=2>    </FONT></DIV></DIV>
<DIV><FONT face=Arial size=2></FONT> </DIV>
<BLOCKQUOTE dir=ltr 
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
  <DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
  <DIV 
  style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B> 
  <A title=erlang@inswitch.us href="mailto:erlang@inswitch.us">Inswitch 
  Solutions - Erlang Evaluation</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>To:</B> <A title=erlang-questions@erlang.org 
  href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</A> 
  </DIV>
  <DIV style="FONT: 10pt arial"><B>Sent:</B> Friday, October 01, 2004 2:36 
  PM</DIV>
  <DIV style="FONT: 10pt arial"><B>Subject:</B> Re: Linking two Pids of nodes 
  that are in the same machine - noconnection signal!</DIV>
  <DIV><FONT face=Arial size=2></FONT><FONT face=Arial size=2></FONT><FONT 
  face=Arial size=2></FONT><FONT face=Arial size=2></FONT><FONT face=Arial 
  size=2></FONT><FONT face=Arial size=2></FONT><BR></DIV>
  <DIV><FONT face=Arial size=2></FONT> </DIV>
  <DIV><FONT face=Arial size=2>I'll try to explain the problem from 
  another point of view.</FONT></DIV>
  <DIV><FONT face=Arial size=2>The machine I'm using is named design 
  (IP=192.168.0.30).</FONT></DIV>
  <DIV><FONT face=Arial size=2></FONT> </DIV>
  <DIV><FONT face=Arial size=2>In Windows 2000:</FONT></DIV>
  <DIV><FONT face=Arial size=2>With LAN cable disconnected:</FONT></DIV>
  <DIV><FONT face=Arial color=#0000ff size=2>ping design</FONT></DIV>
  <DIV><FONT face=Arial color=#0000ff size=2>Response from <FONT 
  color=#ff0000>127.0.0.1</FONT>: bytes=32 tieme<10ms 
TTL=128<BR></FONT></DIV>
  <DIV><FONT face=Arial size=2>With LAN cable connected:</DIV></FONT>
  <DIV><FONT face=Arial size=2>
  <DIV><FONT face=Arial color=#0000ff size=2>ping design</FONT></DIV>
  <DIV><FONT face=Arial color=#0000ff size=2>Response from <FONT 
  color=#ff0000>192.168.0.30</FONT>: bytes=32 tieme<10ms 
  TTL=128<BR></FONT></DIV>
  <DIV><FONT face=Arial color=#0000ff size=2><FONT 
  color=#000000></FONT> </DIV></FONT>
  <DIV><FONT face=Arial size=2>Having two Erlang nodes in the same machine the 
  TCP socket connections are different:</FONT></DIV>
  <DIV>1- if LAN cable disconnected the connection between nodes is 
  established using 127.0.0.1:PORT </DIV>
  <DIV>
  <DIV>2- if LAN cable connected the connection between nodes is 
  established using 192.168.0.30:PORT</DIV>
  <DIV> </DIV>
  <DIV>The problem is that in situation 2) and then if the LAN cable 
  is disconnected the connections established with 192.168.0.30:PORT are lost. 
  This can be also verified when "ping design" in W2000 command 
  prompt.</DIV>
  <DIV> </DIV>
  <DIV>- Can I force Erlang to use 127.0.0.1 for local nodes connection instead 
  of 192.168.0.30 ?</DIV></DIV>
  <DIV>
  <DIV>- How can I solve this problem so not to lose local connections in 
  any case?</DIV>
  <DIV>- Does the same behaviour happen in other OS?</DIV></DIV>
  <DIV><FONT face=Arial size=2></FONT> </DIV>
  <DIV> </DIV>
  <DIV><FONT face=Arial size=2>thanks in advance,</FONT></DIV>
  <DIV><FONT face=Arial size=2>Eduardo Figoli</FONT></DIV>
  <DIV><FONT face=Arial size=2>INSwitch Solutions</FONT></DIV>
  <DIV><FONT face=Arial size=2> </DIV></FONT></FONT></DIV>
  <BLOCKQUOTE 
  style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
    <DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
    <DIV 
    style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B> 
    <A title=erlang@inswitch.us href="mailto:erlang@inswitch.us">Inswitch 
    Solutions - Erlang Evaluation</A> </DIV>
    <DIV style="FONT: 10pt arial"><B>To:</B> <A 
    title=erlang-questions@erlang.org 
    href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</A> 
    </DIV>
    <DIV style="FONT: 10pt arial"><B>Sent:</B> Thursday, September 30, 2004 
    10:46 AM</DIV>
    <DIV style="FONT: 10pt arial"><B>Subject:</B> Linking two Pids of nodes that 
    are in the same machine - noconnection signal!</DIV>
    <DIV><BR></DIV>
    <DIV><FONT face=Arial size=2></FONT> </DIV>
    <DIV><FONT face=Arial size=2>The attached code links to pids of nodes 
    that are in the same machine and I don't know why I receive a noconnection 
    signal when the LAN cable is disconnected. This does no happen when running 
    the code with the LAN cable disconnected and connecting/disconnecting it 
    later.</FONT></DIV>
    <DIV> </DIV>
    <DIV><FONT face=Arial size=2>If someone wants to give a try,  I send a 
    code to test this situation and y</FONT><FONT face=Arial size=2>ou 
    should modify on node1.erl the blue text line below:</FONT></DIV>
    <DIV><FONT face=Arial size=2>{node2Pid, <FONT 
    color=#0000ff>node2@design</FONT>} ! {self()},</FONT></DIV>
    <DIV><FONT face=Arial size=2>with the corresponding machine name where you 
    will run it</FONT><FONT face=Arial size=2>.</FONT></DIV>
    <DIV> </DIV>
    <DIV> </DIV>
    <DIV><FONT face=Arial size=2><STRONG>On the same machine do the 
    following:</STRONG></FONT></DIV>
    <DIV> </DIV>
    <DIV><FONT face=Arial size=2>
    <DIV><FONT face=Arial size=2>1 - "erl -sname node2"</FONT></DIV>
    <DIV><FONT face=Arial size=2>2 - "node2:start()."</FONT></DIV>
    <DIV> </DIV></FONT></DIV>
    <DIV><FONT face=Arial size=2>
    <DIV><FONT face=Arial size=2>2 - "erl -sname node1"</FONT></DIV>
    <DIV><FONT face=Arial size=2>3 - "node1:start()."</FONT></DIV></FONT><FONT 
    face=Arial size=2> </FONT></DIV>
    <DIV><FONT face=Arial size=2>4 - The pid is linked and a message is 
    shown on node1.</FONT></DIV>
    <DIV><FONT face=Arial size=2>5 - node2Pid shows a message every 1 sec while 
    checking the queue message</FONT></DIV>
    <DIV><FONT face=Arial size=2>6 - node1 process loops checking the queue 
    message </FONT></DIV>
    <DIV> </DIV>
    <DIV><FONT face=Arial size=2>7 - Disconnect LAN cable</FONT></DIV>
    <DIV><FONT face=Arial color=#ff0000 size=2>8 - node2Pid receives a 
    noconnection signal</FONT></DIV>
    <DIV><FONT face=Arial color=#ff0000 size=2>9 - node1 process receives an 
    {'EXIT',Pid,noconnection}</FONT></DIV>
    <DIV> </DIV>
    <DIV> </DIV>
    <DIV><FONT face=Arial size=2>- When linking Pids of different nodes that are 
    in the same machine why do I receive a "noconnection" signal?</FONT></DIV>
    <DIV><FONT face=Arial size=2>- Having the LAN cable disconnected 
    and doing steps 1..6 8..9, if I connect/disconnect the LAN cable the 
    "noconnection" signal is never received (correct behaviour). </FONT></DIV>
    <DIV><FONT face=Arial size=2>- If in the source code I do not use 
    "process_flag(trap_exit, true),"  the processes </FONT><FONT 
    face=Arial size=2>terminate, why is this happenning as no kill signal is 
    sent?</FONT></DIV>
    <DIV> </DIV>
    <DIV> </DIV>
    <DIV><FONT face=Arial size=2>thanks in advance,</FONT></DIV>
    <DIV><FONT face=Arial size=2>Eduardo Figoli</FONT></DIV>
    <DIV><FONT face=Arial size=2>INSwitch Solutions</FONT></DIV>
    <DIV> </DIV>
    <DIV> </DIV>
    <DIV> </DIV>
    <DIV> </DIV></BLOCKQUOTE></BLOCKQUOTE></BODY></HTML>