[muscle] Re: Win32 port of MUSCLE server and client

  • From: "Cui, Fanzhe" <fanzhe.cui@xxxxxxxxx>
  • To: <muscle@xxxxxxxxxxxxx>, "Jeremy Friesner" <jaf@xxxxxxxxxxxx>
  • Date: Fri, 8 Jul 2005 20:11:50 -0400

Hi, Jeremy,

First of all, thank you for the help!

I was able to compile and link your testing program of win32 version
with VC++ and ran it. It was able to connect to the muscled, and send
message and print out as in the list of P.S. part. 

Probably I need to research more on the documents. I am trying to find a
code that makes two clients to talk to each other. Or is there a
document which describes how to two clients talk to each other.

Fanz

P.S. - output from win32client:


C:\muscle\win32example>win32client
Connecting to host=[localhost] port=2960
EVENT: A new session has been attached to the local server
EVENT: A session on the local server has completed its connection to the
remote
one
Sending PR_COMMAND_GETPARAMETERS message to server...
EVENT: A new message from the remote computer is ready to process.  The
Message
is:
Message:  this=003F69D0, what='!Pr1' (558920241/0x21507231),
entryCount=7, flatS
ize=207
  Entry: Name=[!Root], GetNumItems()=1, TypeCode()='CSTR' (1129534546)
flatSize=
22
    0. [/127.0.0.1/11]
  Entry: Name=[!Msv], GetNumItems()=1, TypeCode()='CSTR' (1129534546)
flatSize=1
3
    0. [2.42]
  Entry: Name=[!Mav], GetNumItems()=1, TypeCode()='LLNG' (1280069191)
flatSize=8

    0. [-1]
  Entry: Name=[!Mus], GetNumItems()=1, TypeCode()='LLNG' (1280069191)
flatSize=8

    0. [0]
  Entry: Name=[!Mmx], GetNumItems()=1, TypeCode()='LLNG' (1280069191)
flatSize=8

    0. [-1]
  Entry: Name=[!Mup], GetNumItems()=1, TypeCode()='LLNG' (1280069191)
flatSize=8

    0. [1136801124]
  Entry: Name=[!Mns], GetNumItems()=1, TypeCode()='LLNG' (1280069191)
flatSize=8

    0. [-1]
Sending PR_COMMAND_GETPARAMETERS message to server...
EVENT: A new message from the remote computer is ready to process.  The
Message
is:
Message:  this=003F69D0, what='!Pr1' (558920241/0x21507231),
entryCount=7, flatS
ize=207
  Entry: Name=[!Root], GetNumItems()=1, TypeCode()='CSTR' (1129534546)
flatSize=
22
    0. [/127.0.0.1/11]
  Entry: Name=[!Msv], GetNumItems()=1, TypeCode()='CSTR' (1129534546)
flatSize=1
3
    0. [2.42]
  Entry: Name=[!Mav], GetNumItems()=1, TypeCode()='LLNG' (1280069191)
flatSize=8

    0. [-1]
  Entry: Name=[!Mus], GetNumItems()=1, TypeCode()='LLNG' (1280069191)
flatSize=8

    0. [0]
  Entry: Name=[!Mmx], GetNumItems()=1, TypeCode()='LLNG' (1280069191)
flatSize=8

    0. [-1]
  Entry: Name=[!Mup], GetNumItems()=1, TypeCode()='LLNG' (1280069191)
flatSize=8

    0. [1137803286]
  Entry: Name=[!Mns], GetNumItems()=1, TypeCode()='LLNG' (1280069191)
flatSize=8

-----Original Message-----
From: muscle-bounce@xxxxxxxxxxxxx [mailto:muscle-bounce@xxxxxxxxxxxxx]
On Behalf Of Jeremy Friesner
Sent: Tuesday, May 31, 2005 7:12 PM
To: muscle@xxxxxxxxxxxxx
Subject: [muscle] Re: Win32 port of MUSCLE server and client

Hi Fanz,

I agree that a win32 example client would be useful.  So I wrote up a
very 
simple one and posted it here:

http://www.lcscanada.com/muscle/win32example.zip

I compiled this example using the free version of Borland C++, since
that is 
the only Windows compiler I have installed.  You will probably need to
supply 
an equivalent makefile/project file if you are using a different
compiler.  
(The included Makefile, Makefile.win32client.borland, expects to be
placed in 
the muscle/tests folder, along with win32client.cpp, FWIW)

The program itself is a simple command line/text-only app.  It uses the 
Win32MessageTransceiverThread class to do the following:

1) Connect to a muscled server
2) Listen for Messages (and other events) that are received from the
muscled 
server and print them to stdout
3) Once a second, it will send a PR_COMMAND_GETPARAMETERS Message to the

muscled server.  (The server will respond with a PR_RESULT_PARAMETERS 
Message... this is what you will see printed in the output once a
second)

You can run it with no argument from the command line, and it will try
to 
connect to a muscled server running on localhost.  Or you can supply it
with 
the hostname and/or port of a muscled server on another computer, like
this:

win32client beshare.tycomsystems.com 2960

or just

win32client beshare.tycomsystems.com

The app will quite when you control-C it, or when the TCP connection to
the 
server has been broken (i.e. when the main() thread gets a 
MTT_EVENT_SESSION_DISCONNECTED event)

Hope that helps, let me know if you have any more questions.

-Jeremy

On Tuesday 31 May 2005 16:11, Cui, Fanzhe wrote:
> Hi,
>
> I am looking for a client side program with Win32 VC++. I looked into
> the programs in muscle/test, and most testing  programs (client side)
> are POSIX like programs which are not win32. If any one have a simple
> win32 version client side program to let me have a testing, it would
be
> greatly appreciated.
>
> Best regards,
> Fanz
> -----Original Message-----
> From: Cui, Fanzhe=20
> Sent: Tuesday, May 31, 2005 12:21 PM
> To: 'muscle@xxxxxxxxxxxxx'
> Subject: Win32 port of MUSCLE server and client
>
> =20
> Is a complete win32 port of muscle server available? I remember I have
> seen only POSIX version of muscle server.
>
> Regards,
> Fanz


Other related posts: