Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
ComfortServer 0.1
#1
I mentioned that I have a ComfortServer that allows multiple connections to Comfort through one UCM/Ethernet connection.  I have wanted to do more development on it before making it available, but I am just not finding the time.  A couple people have expressed interest in it so I have decided to make it available as it currently is and I will publish updates in due course.  It does work, but it is not perfect and does not have all the functionality I would like it to have.  I make no warranties.  Use at your own risk.

It operates at the sockets level and simply passes any commands it gets from any client through to Comfort as it was sent by the client and sends any message it gets from Comfort to all the clients that are connected.  The server does not do a logon, so the (first) client should pass a logon through to Comfort for all the clients to be logged on and once any client logs off all the clients will be logged off.  (This is one of the elements I would like to develop further).


The server installs as a windows service and uses a configuration file. Goto the install directory and look for comfortserver.exe.config and find the following section:
<ComfortServer.My.MySettings>
<setting name=\"ComfortAddress\" serializeAs=\"String\">
<value>giltrow.dyndns.org</value>
</setting>
<setting name=\"ComfortPort\" serializeAs=\"String\">
<value>1001</value>
</setting>
<setting name=\"ServerPort\" serializeAs=\"String\">
<value>30000</value>
</setting>


ComfortAddress and ComfortPort is the internet (IP) address and port number of your Comfort system that the server will connect to - The same as you would enter into the ComfortClient. Change this to your Comfort address.


ServerPort is the port number that the server will serve on. The IP address will be the IP address of the computer that you install the server onto. Your clients will then connect to the IP number of the computer and the ServerPort.
The server creates its own log called ComfortServerLog in the windows system log and can viewed through the event viewer.


Let me know how it goes.

Cheers,
Clinton.


 

 


Attached Files
.zip   ComfortServerSetup.zip (Size: 181.71 KB / Downloads: 57)
Reply
#2
Thats interesting but I am not sure I understand how things are connected

If you have several users running Comfort Client, you have 1 UCM/Ethernet connected to a PC running Comfort Server? Is this the correct interpretation?

Reply
#3
Thats right, You would have one PC running ComfortServer and then a number of PCs running ComfortClient.  The ComfortServer connects to Comfort and the ComfortClients connect to the ComfortServer.  Obviously you could all of this running on one PC as well,  the ComfortServer connects to Comfort and the multiple instances of the ComfortClient connect to the ComfortServer.  Hope that helps.
Reply
#4
For those who cannot get it to run, issue this command at a command prompt (assuming the same path)

C:\\WINDOWS\\Microsoft.NET\\Framework\\v2.0.50727\\installutil.exe \"c:\\program files\\comfortserversetup\\comfortserver.exe\"

Then run services.msc and tell the service to start
Reply
#5
You can also start (and stop) the service in the Computer Management tool (right click Computer select manage) under Services or in the Administration Tools in the control Panel under Services.
Reply
#6
Didn\'t I just say that ? :-)

[user=29]cgiltrow[/user] wrote:
Quote:You can also start (and stop) the service in the Computer Management tool (right click Computer select manage) under Services or in the Administration Tools in the control Panel under Services.
Reply
#7
Hi Clinton,

I keep getting this error when the Comfort Server loads...

This appears in the event log.

Comfort Connection Exception: System.Net.Sockets.SocketException: The system detected an invalid pointer address in attempting to use a pointer argument in a call 218.186.97.110:1001
   at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
   at System.Net.Sockets.Socket.Connect(EndPoint remoteEP)
   at ComfortServer.ComfortServer.ConnectComfort()

I have checked and no other software is connected to the UCM at the above IP address and port number. I have tried changing the port number and ip address but the same error occurs.

I am using Windows XP.
Reply
#8
Hey fatal,

There should be an entry just before and just after this entry.  Can you let me know what they are?

Have you tried to use ComfortClient or WizComfort to connect from the same machine that you are running the service on to Comfort using the same ip and port numbers as in the config file?  Does this work?

Check the version of .net framework that you have loaded.  I will confirm which in necessary.

Clinton.
Reply
#9
Yes, I have tested using Wizcomfort and it connects fine with the same IP and port number. I have .Net 2.0 and .Net 3.0 installed.

Here are the logs

1. The ComfortServer has been started

2. The ComfortServer is starting

3. Client: Resolving local machine information

4. Client: Creating Socket

5. Client: Binding Socket

6. Client: Starting Listen

7. Server::1:30000Started Listening on30000

8. Client: Socket setup, starting Asynchronous accepts

9. Comfort Connection Exception: System.Net.Sockets.SocketException: The system detected an invalid pointer address in attempting to use a pointer argument in a call 218.186.97.110:1001
   at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
   at System.Net.Sockets.Socket.Connect(EndPoint remoteEP)
   at ComfortServer.ComfortServer.ConnectComfort()



Reply
#10
Hi,

It is definitely getting stuck trying to connect to Comfort.  I have tried to replicate the problem but don\'t get the same error even when I have created a problem.  I can\'t confirm whether .net 3.5 is necessary as my Visual Studio environment is not up at the moment, but I suspect this may be the problem.  Can I recommend trying to install .net 3.5 and seeing what happens?

One other last check. please confirm that you UCM/Ethernet is serving on port 1001 and not 10001.

Clinton.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)