locked
MSRS port issue RRS feed

  • Question

  • hi, i am new to microsoft robotics studio,
    i have made a simulation which i want to run...
    whenever i try running it i receive the following message on teh console...after which the console shuts...


    ***initialization failed in DSS boot loader: could not create TCP Listener
    The two most common cause for this are:
    1.) you already have another program listening on the specified port
    2) you dont have permissions to listen to TCP requests
    Exception  message: only one usage of each socket
    address <protocol/ network address/port> is normally permitted


    please help
    Saturday, September 13, 2008 5:48 PM

Answers

  • You have to start dsshost with different port parameter. httpreserve only registers you as a user that can use the port without being administrator (you need to be administrator to run httpreserve though).

     

    To start dsshost with different port run

     

    dsshost /p:<http port> /t:<tcp port> ...

     

    See [1] for details.

     

    Andreas

     

    [1] http://msdn.microsoft.com/en-us/library/bb483085.aspx

     

    Monday, September 15, 2008 7:26 PM

All replies

  • A different program seems to be using the TCP port. Try specifying a different TCP port and the DSS command line.

     

    Andreas

     

    Monday, September 15, 2008 12:16 AM
  • hey..
    i tried reserving the port using
    httpreserve /user:username /portStick out tongueort_no. -Force 
    i also used - Extend..e.tc

    the message i receive is "Unable to reserve port" regardless of whether the port is free or not...
    i noticed that ports 50000 and 50002 are reserved for windows services & wininit...
    but every port gives the same report....

    ....expecting a quick reply

    Monday, September 15, 2008 12:15 PM
  • I found that the Windows Sidebar snatched those ports on my box.  On your DSSHost line, change the port numbers.  I've used 40000 and 40001 without issue on that machine. 

     

    My reading of HttpReserve (which might be wrong) is that it just allows users to get access to the port to request it's use (allocate and usage), it doesn't actually reserve the port from every other application.  (In other words it's an administration application to grant the user administrative access to those specific ports.)

     

    Fundementally, this is a problem with using port numbers in the 'wild west' and not a bug with MSRS.  (I work with other apps that have the exact same issue.)  I'm sure that the communications port could be dynamically allocated and found, but the web port is problematic.  How do you know what to punch in into internet explorer for the port number on the URL?

     

    I doubt this is the answer you want (make everyone else play well with MSRS), but it's an answer and it does work.

     

    Ed

    Monday, September 15, 2008 12:48 PM
  • ok...well that gave me some insight into it but surely dint solve the problem..
    i dont quite unerstand why i am not able to force an attempt to reserve a port given that im logging in from my admin account...
    Monday, September 15, 2008 7:00 PM
  • You have to start dsshost with different port parameter. httpreserve only registers you as a user that can use the port without being administrator (you need to be administrator to run httpreserve though).

     

    To start dsshost with different port run

     

    dsshost /p:<http port> /t:<tcp port> ...

     

    See [1] for details.

     

    Andreas

     

    [1] http://msdn.microsoft.com/en-us/library/bb483085.aspx

     

    Monday, September 15, 2008 7:26 PM
  • The reason you cannot force it is that there is no 'reservation system'.  It is first come first serve.  If the port is not in use, anyone (with suffiicient permissions to get the port) can get the port.  Since the other application got there first (and if it's sidebar like me, then it is administrator as well), it got the port.

     

    As I said, I've had other applications snatch ports as well and some of them are the local SYSTEM account which is above any account on the machine.

     

    Does this explain the port system or is something still unclear?  I found Andreas answer (which I alluded to but should have just spelled out) is the only answer that works consistently.  At least until some other service gets installed that starts before DssHost and snatches those ports for whatever reason.  Sigh.

     

    I have to use 40,000 on my desktop but 50,000 works just fine on my laptop.  Both running Vista.  Just how the other applications got the ports for me.

     

    Ed

    Tuesday, September 16, 2008 12:30 PM
  • I wonder if the problem you are having is related in any way to the problem that I was able to overcome.

     

    See my thread http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=3885609&SiteID=1

     

    There is a freeware program called CurrPorts (http://www.nirsoft.net) that lists all of the ports and details about what processes, etc are using them. This will verify if anything else is actually using the Ports 50000 and 50001.

     

    Sometimes it's the obvious things that can be the largest stumbling block.

     

    Hope this helps

    Derek A Myers

     

    Saturday, September 20, 2008 11:58 PM