Determining Local clients vs. Remote clients (REALbasic network user group Mailinglist archive)

Back to the thread list
Previous thread: [ANN] Formatted Text Control version 1.8.3
Next thread: Re: Encodings over sockets?


Re: DLL Win32 calling   -   Rubber Chicken Software Co.
  Determining Local clients vs. Remote clients   -   Jim Dossey
   Re: Determining Local clients vs. Remote clients   -   Keith Bennett
   Re: Determining Local clients vs. Remote clients   -   Keith Bennett
   Re: Determining Local clients vs. Remote clients   -   Eric M. Williams
   Re: Determining Local clients vs. Remote clients   -   Jim Dossey
    AW: Determining Local clients vs. Remote clients   -   Matthias Eberhardt
   Re: Determining Local clients vs. Remote clients   -   Joe Huber
   Re: Determining Local clients vs. Remote clients   -   fargo rpgportland.com
   Re: Determining Local clients vs. Remote clients   -   Keith Bennett

Determining Local clients vs. Remote clients
Date: 28.05.10 20:22 (Fri, 28 May 2010 15:22:24 -0400)
From: Jim Dossey
I have a client/server app where I need to determine if the client that I'm
talking to (on the server side) is on my local LAN or is remote. I have the
local and remote IP addresses in the TCPSocket class, and I have the local
subnet mask from System.GetNetworkInterface. I think that if I do a
bit-wise AND on each IP address with the subnet mask, that will give me the
network addresses, which I can then compare to see if the client is local or
remote. But given that the IP addresses and subnet mask are strings, I'm
not sure how to do the bit-wise AND. Anybody have an idea on how to do
that?
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>

Search the archives:
<http://support.realsoftware.com/listarchives/lists.html>

Re: Determining Local clients vs. Remote clients
Date: 01.06.10 09:55 (Tue, 1 Jun 2010 03:55:49 -0500)
From: Keith Bennett
R3JlYXQgaW4gdGhlb3J5IGJ1dCB2ZXJ5ICp2ZXJ5KiBiYWQgaW4gcHJhY3RpY2UuCgpGaXJzdCwg
dGhhdCdzIGEgd2VsbC1rbm93biBEb1MgYXR0YWNrIG1lY2hhbmlzbSBzbyBtb3N0IHJlY2VudCBy
b3V0ZXJzCndpbGwgYmxvY2sgdGhhdCBicm9hZGNhc3QuCgpTZWNvbmQsIHRoZSByb3V0ZXJzIHRo
YXQgZG9uJ3QgYmxvY2sgaXQgd2lsbCBzZW5kIGl0IHRvIG5vbi1sb2NhbApzdWJuZXQgKHdoaWNo
IGlzIGltcGxpZWQgdG8gbm90IGJlIHdhbnRlZCBieSB0aGUgd2hvbGUgaWRlYSBvZgoibG9jYWwi
KS4KClRoaXJkLCBqdXN0IGJlY2F1c2UgaXQncyB0aGUgZmlyc3QgY29tcHV0ZXIgdG8gYW5zd2Vy
IGRvZXNuJ3QgbWVhbgppdCdzIHRoZSAiYmVzdCIgY29tcHV0ZXIgdG8gYW5zd2VyIGJlY2F1c2Ug
b2YgYSBjb21iaW5hdGlvbiBvZiB0aGUKYWJvdmUgdHdvLgoKCk9uIFR1ZSwgSnVuIDEsIDIwMTAg
YXQgMjo1NyBBTSwgTWF0dGhpYXMgRWJlcmhhcmR0CjxtYXR0aGlhc19lYmVyaGFyZHRAaG90bWFp
bC5jb20+IHdyb3RlOgo+PiAtLS0tLVVyc3Byw7xuZ2xpY2hlIE5hY2hyaWNodC0tLS0tCj4+IFZv
bjogcmVhbGJhc2ljLW51Zy1ib3VuY2VzQGxpc3RzLnJlYWxzb2Z0d2FyZS5jb20gW21haWx0bzpy
ZWFsYmFzaWMtCj4+IG51Zy1ib3VuY2VzQGxpc3RzLnJlYWxzb2Z0d2FyZS5jb21dIEltIEF1ZnRy
YWcgdm9uIEppbSBEb3NzZXkKPj4gR2VzZW5kZXQ6IE1vbnRhZywgMzEuIE1haSAyMDEwIDIyOjQz
Cj4+IEFuOiBSRUFMYmFzaWMgTlVHCj4+IEJldHJlZmY6IFJlOiBEZXRlcm1pbmluZyBMb2NhbCBj
bGllbnRzIHZzLiBSZW1vdGUgY2xpZW50cwo+Pgo+PiA8c25pcD4KPj4KPj4gVG8gYW5zd2VyIHlv
dXIgcXVlc3Rpb24sIHRoaXMgaXMgZm9yIGEgY3VzdG9tIGFwcCBydW5uaW5nIG9uIGEgTEFOIHdp
dGgKPj4gMyBvciA0IHJlbW90ZSBvZmZpY2VzLiDCoFRoZSBzZXJ2ZXIgcGlja3Mgb25lIG9mIHRo
ZSBjbGllbnRzIHRvIGJlIHRoZQo+PiAibWFzdGVyIGNsaWVudCIgYW5kIEknZCBwcmVmZXIgdG8g
dXNlIG9uZSBvZiB0aGUgbG9jYWwgY2xpZW50cyBmb3IKPiBwZXJmb3JtYW5jZQo+PiByZWFzb25z
Lgo+Cj4gV2VsbCwgZXZlciB0aG91Z2h0IG9mIHVzaW5nIHRoZSBJUCBicm9hZGNhc3QgbWVjaGFu
aXNtPyBTZW5kaW5nIGFuIElQIFBhY2tldAo+IHRvIDI1NS4yNTUuMjU1LjI1NSBnZXRzIHRoZSBQ
YWNrZXQgdG8gYWxsIGNvbXB1dGVycyBvZiB0aGUgMC4wLjAuMCBuZXR3b3JrCj4gd2hpY2ggaXMg
YWx3YXlzIHRoZSBsb2NhbCBuZXR3b3JrLiBUaGUgZmlyc3QgY29tcHV0ZXIgYW5zd2VyaW5nIHRo
ZQo+IGJyb2FkY2FzdCBtYXkgYmUgdGhlIGJlc3QgY2hvaWNlIGZvciBhICJtYXN0ZXIgY2xpZW50
Ii4gU29tZSBwcm90b2NvbHMgbGlrZQo+IERIQ1AgYW5kIEFSUCB3b3JrIHRoaXMgd2F5Lgo+Cj4g
aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Ccm9hZGNhc3RfYWRkcmVzcwo+Cj4KPgo+Cj4g
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBVbnN1YnNj
cmliZSBvciBzd2l0Y2ggZGVsaXZlcnkgbW9kZToKPiA8aHR0cDovL3d3dy5yZWFsc29mdHdhcmUu
Y29tL3N1cHBvcnQvbGlzdG1hbmFnZXIvPgo+Cj4gU2VhcmNoIHRoZSBhcmNoaXZlczoKPiA8aHR0
cDovL3N1cHBvcnQucmVhbHNvZnR3YXJlLmNvbS9saXN0YXJjaGl2ZXMvbGlzdHMuaHRtbD4KPgoK
CgotLSAKS2VpdGggQmVubmV0dApPcGVyYXRpb25zLCBJLlQuIEFzc2lzdGFudApTdWdhciBMYW5k
IEljZSAmIFNwb3J0cyBDZW50ZXIKMTYyMjUgTGV4aW5ndG9uIEJsdmQKU3VnYXIgTGFuZCwgVFgg
Nzc0NzkKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClVu
c3Vic2NyaWJlIG9yIHN3aXRjaCBkZWxpdmVyeSBtb2RlOgo8aHR0cDovL3d3dy5yZWFsc29mdHdh
cmUuY29tL3N1cHBvcnQvbGlzdG1hbmFnZXIvPgoKU2VhcmNoIHRoZSBhcmNoaXZlczoKPGh0dHA6
Ly9zdXBwb3J0LnJlYWxzb2Z0d2FyZS5jb20vbGlzdGFyY2hpdmVzL2xpc3RzLmh0bWw+

Re: Determining Local clients vs. Remote clients
Date: 01.06.10 08:02 (Tue, 1 Jun 2010 02:02:09 -0500)
From: Keith Bennett
VGhlcmUncyBhIGRvemVuIGRpZmZlcmVudCBzY2VuYXJpb3MgdG8gY29uc2lkZXIgaWYgeW91IHJl
YWxseSB3YW50IHRvCmdvIHRoYXQgcm9idXN0LiBQcm9iYWJseSB5b3UnZCB3YW50IHRvIGdvIHdp
dGggd2hvZXZlciBoYXMgdGhlIGxvd2VzdApwaW5nIGFzIHRoYXQncyBtb3N0IGxpa2VseSB0byBo
YXZlIHlvdXIgYmVzdCAicGVyZm9ybWFuY2UiLCBhc2lkZSBmcm9tCkNQVSBpc3N1ZXMgKHdoaWNo
IGlzLCBpbiBteSBvcGluaW9uLCBhIHZlcnkgcmVhbCB0aGluZyB0byBjb25zaWRlcgp3aXRoIFJF
QUxiYXNpYykuCgpPbiBNb24sIE1heSAzMSwgMjAxMCBhdCA0OjM2IFBNLCBFcmljIE0uIFdpbGxp
YW1zIDxlcmljQG94YWx5bi5jb20+IHdyb3RlOgo+Cj4gT24gTWF5IDMxLCAyMDEwLCBhdCAxOjQz
IFBNLCBKaW0gRG9zc2V5IHdyb3RlOgo+Cj4+IE9uIEZyaSwgTWF5IDI4LCAyMDEwIGF0IDc6NTkg
UE0sIEpvZSBIdWJlciA8am9laHViZXJAdGFsYXNvZnQuY29tPiB3cm90ZToKPj4KPj4+IEF0IDE6
MzcgUE0gLTA3MDAgNS8yOC8xMCwgZmFyZ29AcnBncG9ydGxhbmQuY29tIHdyb3RlOgo+Cj4+PiBU
aGVyZSBhcmUgbWFueSBjYW1wdXMgb3IgY29tbWVyY2lhbCBlbnZpcm9ubWVudHMgd2hlcmUgYmVp
bmcgb24gYSBkaWZmZXJlbnQKPj4+IHN1Ym5ldCB3b3VsZCBub3QgYmUgYSBnb29kIHByb3h5IGZv
ciByZW1vdGVuZXNzLiBXaGF0IGFzcGVjdCBvZiByZW1vdGVuZXNzCj4+PiB3YXMgdGhlIE9QIHRy
eWluZyB0byBkZXRlY3Q/Cj4+Cj4+IFRvIGFuc3dlciB5b3VyIHF1ZXN0aW9uLCB0aGlzIGlzIGZv
ciBhIGN1c3RvbSBhcHAgcnVubmluZyBvbiBhIExBTiB3aXRoIDMgb3IKPj4gNCByZW1vdGUgb2Zm
aWNlcy4gwqBUaGUgc2VydmVyIHBpY2tzIG9uZSBvZiB0aGUgY2xpZW50cyB0byBiZSB0aGUgIm1h
c3Rlcgo+PiBjbGllbnQiIGFuZCBJJ2QgcHJlZmVyIHRvIHVzZSBvbmUgb2YgdGhlIGxvY2FsIGNs
aWVudHMgZm9yIHBlcmZvcm1hbmNlCj4+IHJlYXNvbnMuCj4KPiBQZXJoYXBzIGEgYmV0dGVyIGFw
cHJvYWNoIHdvdWxkIGJlIHRvIHRlc3QgdGhlIHBlcmZvcm1hbmNlIG9mIGVhY2ggY2xpZW50LCBi
ZWNhdXNlIGV2ZW4gbG9jYWwgYWRkcmVzc2VzIGNvdWxkIGJlIHNsb3cgLSBmb3IgZXhhbXBsZSwg
YSBkaWFsZWQtaW4gVlBOIHVzZXIgd291bGQgaGF2ZSBhIGxvY2FsIGFkZHJlc3MgYnV0IGEgKHBv
dGVudGlhbGx5KSB2ZXJ5IHNsb3cgbGluay4KPgo+IEVyaWMgTS4gV2lsbGlhbXMKPiBPeGFseW4K
PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IFVuc3Vi
c2NyaWJlIG9yIHN3aXRjaCBkZWxpdmVyeSBtb2RlOgo+IDxodHRwOi8vd3d3LnJlYWxzb2Z0d2Fy
ZS5jb20vc3VwcG9ydC9saXN0bWFuYWdlci8+Cj4KPiBTZWFyY2ggdGhlIGFyY2hpdmVzOgo+IDxo
dHRwOi8vc3VwcG9ydC5yZWFsc29mdHdhcmUuY29tL2xpc3RhcmNoaXZlcy9saXN0cy5odG1sPgo+
CgoKCi0tIApLZWl0aCBCZW5uZXR0Ck9wZXJhdGlvbnMsIEkuVC4gQXNzaXN0YW50ClN1Z2FyIExh
bmQgSWNlICYgU3BvcnRzIENlbnRlcgoxNjIyNSBMZXhpbmd0b24gQmx2ZApTdWdhciBMYW5kLCBU
WCA3NzQ3OQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K
VW5zdWJzY3JpYmUgb3Igc3dpdGNoIGRlbGl2ZXJ5IG1vZGU6CjxodHRwOi8vd3d3LnJlYWxzb2Z0
d2FyZS5jb20vc3VwcG9ydC9saXN0bWFuYWdlci8+CgpTZWFyY2ggdGhlIGFyY2hpdmVzOgo8aHR0
cDovL3N1cHBvcnQucmVhbHNvZnR3YXJlLmNvbS9saXN0YXJjaGl2ZXMvbGlzdHMuaHRtbD4

Re: Determining Local clients vs. Remote clients
Date: 31.05.10 22:36 (Mon, 31 May 2010 14:36:14 -0700)
From: Eric M. Williams

On May 31, 2010, at 1:43 PM, Jim Dossey wrote:

> On Fri, May 28, 2010 at 7:59 PM, Joe Huber <<email address removed>> wrote:
>
>> At 1:37 PM -0700 5/28/10, <email address removed> wrote:

>> There are many campus or commercial environments where being on a different
>> subnet would not be a good proxy for remoteness. What aspect of remoteness
>> was the OP trying to detect?
>
> To answer your question, this is for a custom app running on a LAN with 3 or
> 4 remote offices. The server picks one of the clients to be the "master
> client" and I'd prefer to use one of the local clients for performance
> reasons.

Perhaps a better approach would be to test the performance of each client, because even local addresses could be slow - for example, a dialed-in VPN user would have a local address but a (potentially) very slow link.

Eric M. Williams
Oxalyn
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>

Search the archives:
<http://support.realsoftware.com/listarchives/lists.html>

Re: Determining Local clients vs. Remote clients
Date: 31.05.10 21:43 (Mon, 31 May 2010 16:43:26 -0400)
From: Jim Dossey
On Fri, May 28, 2010 at 7:59 PM, Joe Huber <<email address removed>> wrote:

> At 1:37 PM -0700 5/28/10, <email address removed> wrote:
>
>> How about just checking if the string contains the string for your local
>> netmask? You know, like checking for 10.0.1., 192.168.1. or whatever.
>>
> That would only work if the prefix length (ie the number of 1 bits in the
> subnet mask) was an even multiple of 8 and thus aligned to the textual
> character boundaries. If would be better to convert the strings to integers
> as Keith suggested...
>
> I'm curious about why the OP wanted to know if the client was on a
> different subnet, and whether that's the best way to detect if his client is
> 'remote'. Would remoteness be better defined by lower bandwidth, longer
> latency, lack of multicast support, NAT or firewall issues, etc.
>
> There are many campus or commercial environments where being on a different
> subnet would not be a good proxy for remoteness. What aspect of remoteness
> was the OP trying to detect?
>
> Best regards,
> Joe Huber

To answer your question, this is for a custom app running on a LAN with 3 or
4 remote offices. The server picks one of the clients to be the "master
client" and I'd prefer to use one of the local clients for performance
reasons.
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>

Search the archives:
<http://support.realsoftware.com/listarchives/lists.html>

Re: Determining Local clients vs. Remote clients
Date: 29.05.10 00:59 (Fri, 28 May 2010 16:59:38 -0700)
From: Joe Huber
At 1:37 PM -0700 5/28/10, <email address removed> wrote:
>How about just checking if the string contains the string for your local
>netmask? You know, like checking for 10.0.1., 192.168.1. or whatever.

That would only work if the prefix length (ie the number of 1 bits in
the subnet mask) was an even multiple of 8 and thus aligned to the
textual character boundaries. If would be better to convert the
strings to integers as Keith suggested...

I'm curious about why the OP wanted to know if the client was on a
different subnet, and whether that's the best way to detect if his
client is 'remote'. Would remoteness be better defined by lower
bandwidth, longer latency, lack of multicast support, NAT or firewall
issues, etc.

There are many campus or commercial environments where being on a
different subnet would not be a good proxy for remoteness. What
aspect of remoteness was the OP trying to detect?

Best regards,
Joe Huber

_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>

Search the archives:
<http://support.realsoftware.com/listarchives/lists.html>

Re: Determining Local clients vs. Remote clients
Date: 28.05.10 21:37 (Fri, 28 May 2010 13:37:07 -0700)
From: fargo rpgportland.com
> I have a client/server app where I need to determine if the client that
> I'm
> talking to (on the server side) is on my local LAN or is remote. I have
> the
> local and remote IP addresses in the TCPSocket class, and I have the local
> subnet mask from System.GetNetworkInterface. I think that if I do a
> bit-wise AND on each IP address with the subnet mask, that will give me
> the
> network addresses, which I can then compare to see if the client is local
> or
> remote. But given that the IP addresses and subnet mask are strings, I'm
> not sure how to do the bit-wise AND. Anybody have an idea on how to do
> that?

How about just checking if the string contains the string for your local
netmask? You know, like checking for 10.0.1., 192.168.1. or whatever.
Might have more overhead than using bitwise, but probably about the same
or better than converting the string to an integer first.

Oh, and to answer your actual question, an ip address or netmask is a
grouping of 8 bit values, called octets, and can thus be converted to
various other numerical notations, like a single integer or straight
binary. For the math and more info you might look at these pages-
http://www.aboutmyip.com/AboutMyXApp/IP2Integer.jsp
http://www.justin-cook.com/wp/2006/11/28/convert-an-ip-address-to-ip-number-with-php-asp-c-and-vbnet/

Best,
Fargo

_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>

Search the archives:
<http://support.realsoftware.com/listarchives/lists.html>

Re: Determining Local clients vs. Remote clients
Date: 28.05.10 20:50 (Fri, 28 May 2010 14:50:45 -0500)
From: Keith Bennett
Q29udmVydCB0aGUgc3RyaW5ncyB0byBpbnRlZ2VycywgYW5kIHRoZW4gdXNlIEJpdHdpc2UuQml0
QW5kIG9uIHRoYXQuClJlbWVtYmVyIHRoYXQgdGhhdCB3b3VsZCBvbmx5IGJlIGNvbXBhdGlibGUg
d2l0aCBJUHY0LCB0aG91Z2ggdGhhdCdzCmN1cnJlbnRseSBhIG5vbi1pc3N1ZSBzaW5jZSBBRkFJ
SyBSRUFMYmFzaWMgZG9lcyBub3QgY3VycmVudGx5IHN1cHBvcnQKSVB2Ni4gSVB2NiBpbnRyb2R1
Y2VzIHBsZW50eSBvZiBvdGhlciBtZWNoYW5pc21zIGZvciAibG9jYWwiCmNvbW11bmljYXRpb24u
CgpGdW5jdGlvbiBJUFN0cmluZ1RvVUludDMyKFZhbHVlIEFzIFN0cmluZykgQXMgVUludDMyCiAg
RGltIEEsIEIsIEMsIEQgQXMgVUludDMyCgogIEEgPSBCaXR3aXNlLlNoaWZ0TGVmdChWYWwoTnRo
RmllbGQoVmFsdWUsICIuIiwgMSkpLCAyNCkgLy8gZmlyc3Qgb2N0ZXQKICBCID0gQml0d2lzZS5T
aGlmdExlZnQoVmFsKE50aEZpZWxkKFZhbHVlLCAiLiIsIDIpKSwgMTYpIC8vIHNlY29uZCBvY3Rl
dAogIEMgPSBCaXR3aXNlLlNoaWZ0TGVmdChWYWwoTnRoRmllbGQoVmFsdWUsICIuIiwgMykpLCA4
KSAvLyB0aGlyZCBvY3RldAogIEQgPSBWYWwoTnRoRmllbGQoVmFsdWUsICIuIiwgNCkpIC8vIGZv
dXJ0aCBvY3RldAoKICBSZXR1cm4gQml0d2lzZS5CaXRPcihCaXR3aXNlLkJpdE9yKEEsIEIpLCBC
aXR3aXNlLkJpdE9yKEMsIEQpKSAvLwptZXJnZSBvY3RldHMKRW5kIEZ1bmN0aW9uCgoKRnVuY3Rp
b24gU2FtZVN1Ym5ldChJUDFTdHIgQXMgU3RyaW5nLCBNYXNrMVN0ciBBcyBTdHJpbmcsIElQMlN0
ciBBcwpTdHJpbmcsIE1hc2syU3RyIEFzIFN0cmluZykgQXMgQm9vbAogIERpbSBJUDFpLCBNYXNr
MWksIElQMmksIE1hc2syaSBBcyBVSW50MzIKCiAgSVAxaSA9IElQU3RyaW5nVG9VSW50MzIoSVAx
U3RyKQogIE1hc2sxaSA9IElQU3RyaW5nVG9VSW50MzIoTWFzazFTdHIpCiAgSVAyaSA9IElQU3Ry
aW5nVG9VSW50MzIoSVAyU3RyKQogIE1hc2syaSA9IElQU3RyaW5nVG9VSW50MzIoTWFzazJTdHIp
CgogIFJldHVybiAoQml0d2lzZS5CaXRBbmQoSVAxaSwgTWFzazFpKSA9IEJpdHdpc2UuQml0QW5k
KElQMmksIE1hc2syaSkpCi8vIGlmIG5ldHdvcmsgbnVtYmVycyBtYXRjaC4uLgpFbmQgRnVuY3Rp
b24KCgpPbiBGcmksIE1heSAyOCwgMjAxMCBhdCAyOjIyIFBNLCBKaW0gRG9zc2V5IDxqaW0uZG9z
c2V5QGdtYWlsLmNvbT4gd3JvdGU6Cj4gSSBoYXZlIGEgY2xpZW50L3NlcnZlciBhcHAgd2hlcmUg
SSBuZWVkIHRvIGRldGVybWluZSBpZiB0aGUgY2xpZW50IHRoYXQgSSdtCj4gdGFsa2luZyB0byAo
b24gdGhlIHNlcnZlciBzaWRlKSBpcyBvbiBteSBsb2NhbCBMQU4gb3IgaXMgcmVtb3RlLiDCoEkg
aGF2ZSB0aGUKPiBsb2NhbCBhbmQgcmVtb3RlIElQIGFkZHJlc3NlcyBpbiB0aGUgVENQU29ja2V0
IGNsYXNzLCBhbmQgSSBoYXZlIHRoZSBsb2NhbAo+IHN1Ym5ldCBtYXNrIGZyb20gU3lzdGVtLkdl
dE5ldHdvcmtJbnRlcmZhY2UuIMKgSSB0aGluayB0aGF0IGlmIEkgZG8gYQo+IGJpdC13aXNlIEFO
RCBvbiBlYWNoIElQIGFkZHJlc3Mgd2l0aCB0aGUgc3VibmV0IG1hc2ssIHRoYXQgd2lsbCBnaXZl
IG1lIHRoZQo+IG5ldHdvcmsgYWRkcmVzc2VzLCB3aGljaCBJIGNhbiB0aGVuIGNvbXBhcmUgdG8g
c2VlIGlmIHRoZSBjbGllbnQgaXMgbG9jYWwgb3IKPiByZW1vdGUuIMKgQnV0IGdpdmVuIHRoYXQg
dGhlIElQIGFkZHJlc3NlcyBhbmQgc3VibmV0IG1hc2sgYXJlIHN0cmluZ3MsIEknbQo+IG5vdCBz
dXJlIGhvdyB0byBkbyB0aGUgYml0LXdpc2UgQU5ELiDCoEFueWJvZHkgaGF2ZSBhbiBpZGVhIG9u
IGhvdyB0byBkbwo+IHRoYXQ/Cj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18KPiBVbnN1YnNjcmliZSBvciBzd2l0Y2ggZGVsaXZlcnkgbW9kZToKPiA8aHR0
cDovL3d3dy5yZWFsc29mdHdhcmUuY29tL3N1cHBvcnQvbGlzdG1hbmFnZXIvPgo+Cj4gU2VhcmNo
IHRoZSBhcmNoaXZlczoKPiA8aHR0cDovL3N1cHBvcnQucmVhbHNvZnR3YXJlLmNvbS9saXN0YXJj
aGl2ZXMvbGlzdHMuaHRtbD4KPgoKCgotLSAKS2VpdGggQmVubmV0dApPcGVyYXRpb25zLCBJLlQu
IEFzc2lzdGFudApTdWdhciBMYW5kIEljZSAmIFNwb3J0cyBDZW50ZXIKMTYyMjUgTGV4aW5ndG9u
IEJsdmQKU3VnYXIgTGFuZCwgVFggNzc0NzkKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fClVuc3Vic2NyaWJlIG9yIHN3aXRjaCBkZWxpdmVyeSBtb2RlOgo8
aHR0cDovL3d3dy5yZWFsc29mdHdhcmUuY29tL3N1cHBvcnQvbGlzdG1hbmFnZXIvPgoKU2VhcmNo
IHRoZSBhcmNoaXZlczoKPGh0dHA6Ly9zdXBwb3J0LnJlYWxzb2Z0d2FyZS5jb20vbGlzdGFyY2hp
dmVzL2xpc3RzLmh0bWw+





Links
MBS REALstudio Plugins - Nachhilfe in Nickenich