Re: VB6 client and Tuxedo

Hello Paul!
What I'd suggest is build a 'dll' as Nelson says. with the Tuxedo API, and
try to use this dll inside de VB program to do calls to Tuxedo System.
If you need an example? I can send to you a basic dll and the Visual C
program that use it.
Regards
"Paul Shen" <[email protected]> wrote in message
news:77_3aa8920a$[email protected]..
>
I wanna code client application in VB too. Would someone like to
give me a sample or some directions.
"Manoj SASIDHARAN" <[email protected]> wrote:
Hello Nelson,
BEA Tuxedo provides a C DLL that implements all Tuxedo
ATMI calls.
Sorry I cannot remember the name of the dll (could be
wstux.dll).
Using this DLL, u can develop a WS Tuxedo Client application
using
VB and VC++.
HTH
regards
MS
"Nelson J. Manio" <[email protected]> wrote:
I was wondering if anyone had experienced connectinga
client application
written in VB6.0 to Tuxedo.
How was it done ? do you have an example ?

Hi Manoj,
Can u provide me some sample VB6 project which communicate with tuxedo services
I will be really greatful.. We are badly in need of it..
Thanks
Regars
S. Rajesh
"Manoj SASIDHARAN" <[email protected]> wrote:
>
hello Friends,
There is a DLL (wtuxws32.dll) that comes with Tuxedo Runtime...
for Windows...
Add a BAS File and put the declarations for each ATMI call n use
them in VB.
Declare Function tpcall Lib "wtuxws32.dll" (ByVal service As String,
ByVal buf As Long, ByVal length As Long, buf1 As Long, length1
As Long, ByVal flags As Long) As Integer
HTH
regards
MS
"Mauricio Del Moral" <[email protected]> wrote:
Hello Paul!
What I'd suggest is build a 'dll' as Nelson says. with
the Tuxedo API, and
try to use this dll inside de VB program to do calls to
Tuxedo System.
If you need an example? I can send to you a basic dll
and the Visual C
program that use it.
Regards
"Paul Shen" <[email protected]> wrote in message
news:77_3aa8920a$[email protected]..
I wanna code client application in VB too. Would someonelike to
give me a sample or some directions.
"Manoj SASIDHARAN" <[email protected]> wrote:
Hello Nelson,
BEA Tuxedo provides a C DLL that implements all Tuxedo
ATMI calls.
Sorry I cannot remember the name of the dll (could
be
wstux.dll).
Using this DLL, u can develop a WS Tuxedo Client application
using
VB and VC++.
HTH
regards
MS
"Nelson J. Manio" <[email protected]> wrote:
I was wondering if anyone had experienced connectinga
client application
written in VB6.0 to Tuxedo.
How was it done ? do you have an example ?

Similar Messages

  • VB6 client and Tuxedo

    I was wondering if anyone had experienced connecting a client application
    written in VB6.0 to Tuxedo.
    How was it done ? do you have an example ?

    I wanna code client application in VB too. Would someone like to
    give me a sample or some directions.
    "Manoj SASIDHARAN" <[email protected]> wrote:
    >
    Hello Nelson,
    BEA Tuxedo provides a C DLL that implements all Tuxedo
    ATMI calls.
    Sorry I cannot remember the name of the dll (could be
    wstux.dll).
    Using this DLL, u can develop a WS Tuxedo Client application
    using
    VB and VC++.
    HTH
    regards
    MS
    "Nelson J. Manio" <[email protected]> wrote:
    I was wondering if anyone had experienced connectinga
    client application
    written in VB6.0 to Tuxedo.
    How was it done ? do you have an example ?

  • Trying to understand text encodings between windows clients and oracle DB

    I am focusing on a "maybe bad configured" oracle windows xp client connecting into a well configured oracle db server (10g for example). Instead of just keep the correct client settings to make it work I would prefer to understand what is really doing the oracle client with all the posible bad configurations regarding encodings.
    When the client executes something like "SELECT 'Col1', N'Col2' from dual" before sending the sql sentence into the server the sentence itself should be encoded.
    But the way the sentence is encoded or the fact that some magic encoding transform occurs depends on the technology used (Java Thin, OCI, Oledb, etc..) and sometimes it depends on the windows setting "Languages for Non-unicode programs" and sometimes it depends on the client NLS_LANG setting on the registry. Or maybe thigs are simpler and I simply got confused... Here we could add that maybe some third party tool could do some other "helpfull" hidden magic encoding transformation to make it work and things become interesting
    A second time when all this encoding stuff should be considered is when the results of the sentences are retrieved on the client.
    At this point the client receives an byte stream from the server (that could be a VARCHAR column or a NVARCHAR column). Again depending on the technology used the client could be specting a utext, text (OCI) or a CHAR, NCHAR (in JAVA) or a SQL_C_WCHAR, SQL_C_CHAR (in OleDb), etc...
    Well, I'm not sure at all about the first point. Is all the sentence encoded in the same way before sending it to the server (ie is sended as plain text) or before the client parses the sentence and it understand that is sending a SELECT statement that returns two cols (one varchar and the other nvarchar)? For example the N, the ' and the Col2 are sent using the same encoding?

    Todd:
    Ref:
    http://docs.oracle.com/cd/E35855_01/tuxedo/docs12c/ads/adecid.html#wp1075436
    Section: Generating ECID by Native/WS/Jolt clients and Domain Gateway
    We are using Jolt Clients, via JSL for executing Tuxedo Services. The problem, we always face while debugging is cross relation. It would be extremely useful for us if we could get the ECID printed in webserver and tuxedo server process. Can we get ECID using any programming API in jolt client and in Tuxedo server process ? It would help us to correlate web, Tux and server logs
    Thanks,
    Biju

  • Creating a class library in VS2013 that can be referenced by a VB6 application and newer applications

    I need to create a class library in VS2013 that can be referenced by a VB6 application and newer applications. I heard something about
    COM Interop but have no idea where to start. I am assuming I would develop a class library in VS2013 and then package the assembly for COM. Any good sample projects on this out there?

    Hello,
    >> Any good sample projects on this out there?
    Not suer if you are using C# as the develop language, if it is, i think you would find a lot of articles about this topic with your favorite search engine, here are some related links:
    COM Interop Part 1: C# Client Tutorial
    COM Interop Part 2: C# Server Tutorial
    Regards.
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Oracle 10g client and Outlook Address Book

    I have looked everywhere that I can think of, and nobody seems to have an answer to this problem. I support an extensive VB6 application, and one piece of functionality, which has been working without problems using Oracle 8i and 9i client, is now having problems when we use it on a client with 10g client installed.
    The functionality in question is the ability to click a button that opens the user's Outlook Global Address Book, and return the e-mail address of the address selected. When the application is initially opened, the address book opens without problem. Once the user connects to Oracle (from within the application), from that point on, until the application is closed and restarted, clicking the button to open the address book produces the not-so-helpful error message "This application has failed to start because BJABLR32.dll was not found. Re-installing the application may fix this problem." The .dll is present, and the error only occurs AFTER an Oracle connection has been opened. I'm using an ADODB connection to connect to Oracle.
    I have tried closing the connection, and setting the connection object to nothing, but this doesn't seem to make any difference. The Oracle connection appears to be working fine, the recordsets that are returned have the correct data in them, and updates perform correctly as well.
    I have a sample application (about 175 lines of code) that I can use to consistantly reproduce the error.
    If anyone can shine some light on this, it would be greatly appreciated. If this needs to be posted to a different forum, please let me know that as well. This forum seemed to be the closest match that I could find for this problem.

    I am having the same problem, did you find an answer? other than resetting the Path, I shouldn't change all the client machines path

  • Call of tuxedo workstation client to tuxedo service

    In ubb file:
    "WSL"     SRVGRP="GRP"     SRVID=44
         CLOPT="-A -- -p 10002 -n //172.17.1.10:10001 -P 10003 -T 180"
    My question is:
    1. In workstation client, WSNADDR is //172.17.1.10:10001. If I use "172.17.1.10:10001", it prompts "TPESYSTEM - internal system error", while "//172.17.1.10:10001" is right?
    2. 10001 is the port of WSL, 10002-10003 is the port of WSH. But in ubb file, I cannot find WSH configuration, is that right?
    3. If "telnet 172.17.1.10 10002(/10003)" doesn't work in workstation client, does it impact the call of tuxedo service from this workstation client?
    Thanks a lot.

    Bill,
    1. Tuxedo syntax for specifying TCP/IP addresses requires that the address start with "//", so it is expected behavior for "172.17.1.10:10001" to result in an error and for "//172.17.1.10:10001" to be correctly parsed.
    2. You're correct that the UBBCONFIG file does not include entries for WSH processes. WSH processes are started by the WSL as appropriate.
    3. The Tuxedo WSH communicates with workstation clients and with the WSL using a proprietary Tuxedo workstation protocol. The WSH does not understand telnet protocol, so any attempt to telnet to the WSH port will not succeed.
    Regards,
    Ed

  • Tuxedo client calls Tuxedo server using FML32

    I used a Tuxedo client calling a Tuxedo Server.
    Tuxedo server:
    It receives FML32 buffer and parse the info from ui_fml.h, e.g.
    #define     UI_SID     ((FLDID32)33852433)     /* number: 298001     type: long */
    #define     UI_NAME     ((FLDID32)33852434)     /* number: 298002     type: long */
    #define     UI_TEST     ((FLDID32)33852435)     /* number: 298003     type: long */
    In server code:
    void TEST(TPSVCINFO *rqst) {
    char line[200];
    long len = sizeof(line);
    FBFR32 bfr = (FBFR32) rqst->data;
    Fget32(bfr, UI_TEXT, 0, line, (FLDLEN32*)&len);
    printf("Fstrerror32(Ferror32)=[%s]\n", Fstrerror32(Ferror32);
    In Tuxedo client code:
    int main(int argc, char* argv[]) (
    char *sendbuf;
    if (tpinit((TPINIT *) NULL) == -1) {
              (void) fprintf(stderr, "tpcall2X:Tpinit failed\n");
              exit(1);
    if((sendbuf = (FBFR32 *) tpalloc("FML32", NULL, BUFLEN)) == (FBFR32*) NULL) {
              (void) fprintf(stderr,"Error allocating send buffer\n");
              tpterm();
              exit(1);
    len = Fsizeof32(sendbuf);
    if (-1 == Finit32(sendbuf, (FLDLEN32)len)) {
              tpfree((char*)sendbuf);
              exit(1);
    ret = tpcall("TEST", (char *)sendbuf, 0L, &rcvbuf, &rcvlen, 0);
    The server returns "Fstrerror32(Ferror32)=[LIBFML_CAT:2: ERROR: Buffer not fielded]", while the client works well.
    What are the reason? How to change that?
    Thanks.

    Hi Bill,
    Your problems are mostly in the client. You allocate sendbuf as an FML32 buffer, but then proceed to strcpy() into it which won't work. To manipulate the contents of an FML/FML32 buffer you must use the FML routines. So removing the strcpy(sendbuf, temp) in the client and replacing it with Fadd32(sendbuf, UI_TEXT, temp, sendlen) allows your application to work.
    By the way, in general you shouldn't need to be doing all the memset() calls you are doing. The extraneous stuff in buffers will be ignored, and certainly never memset() an FML32 buffer as it is not simply a bunch of bytes, but a complex dynamic structure that Tuxedo maintains.
    Finally on the server side, I couldn't get this line to compile as I indicated earlier:
    memset(out.out, 0, 4096);
    so I don't know how that is compiling for you, but the GCC compiler will not accept that, nor does it even make sense.
    Regards,
    Todd Little
    Oracle Tuxedo Chief Architect
    PS Here is the exact code that worked on my system:
    Server:
    #include <string.h>
    #include <stdio.h>
    #include <ctype.h>
    #include <atmi.h>     /* TUXEDO Header File */
    #include <userlog.h>     /* TUXEDO Header File */
    #include "bill.h"
    #if defined(__STDC__) || defined(__cplusplus)
    tpsvrinit(int argc, char *argv[])
    #else
    tpsvrinit(argc, argv)
    int argc;
    char **argv;
    #endif
         /* Some compilers warn if argc and argv aren't used. */
         argc = argc;
         argv = argv;
         /* userlog writes to the central TUXEDO message log */
         userlog("Welcome to the simple server");
         return(0);
    #ifdef __cplusplus
    extern "C"
    #endif
    void
    #if defined(__STDC__) || defined(__cplusplus)
    TEST(TPSVCINFO *rqst)
    #else
    TEST(rqst)
    TPSVCINFO *rqst;
    #endif
    char line[200];
    char *out;
    long n,len;
    FBFR32 *bfr = (FBFR32*) rqst->data;
    out = tpalloc("X_OCTET", NULL, 4096);
    memset(out, 0, 4096);
    memset(line , 0, sizeof(line));
    Fget32(bfr, UI_TEXT, 0, line, (FLDLEN32*)&len);
    printf("Fstrerror32(Ferror32)=[%s]\n", Fstrerror32(Ferror32));
    printf("line=[%s]\n", line);
    n = sprintf(out, "success");
    tpreturn(TPSUCCESS, 0, out, n, 0);
    }And the client:
    #include <string.h>
    #include <stdio.h>
    #include <atmi.h>
    #include "bill.h"
    #define BUFLEN 2400
    int main(int argc, char* argv[])
    char *sendbuf, *rcvbuf, service[15];
    long sendlen, rcvlen;
    int ret, i;
    char *result;
    char temp[2000];
    FLDLEN32 len = 0;
    if (tpinit((TPINIT *) NULL) == -1) {
    (void) fprintf(stderr, "tpcall2X:Tpinit failed\n");
    exit(1);
    if((sendbuf = (FBFR32 *) tpalloc("FML32", NULL, BUFLEN)) == (FBFR32*) NULL) {
    (void) fprintf(stderr,"Error allocating send buffer\n");
    tpterm();
    exit(1);
    if((rcvbuf = (char *) tpalloc("X_OCTET", NULL, BUFLEN)) == NULL) {
    (void) fprintf(stderr,"Error allocating receive buffer\n");
    tpfree(sendbuf);
    tpterm();
    exit(1);
    len = Fsizeof32(sendbuf);
    if (-1 == Finit32(sendbuf, (FLDLEN32)len))
    tpfree((char*)sendbuf);
    tpfree((char*)rcvbuf);
    exit(1);
    /* memset(rcvbuf, 0, sizeof(rcvbuf));
    memset(service, 0, sizeof(service));
    memset(temp, 0, sizeof(temp));
    strcpy(service, "TEST");
    strcat(temp, "(FLDID(168070265)) test \n\n");
    sendlen = (long)strlen(temp);
    strcpy(sendbuf, temp);
    Fadd32(sendbuf, UI_TEXT, temp, sendlen);
    printf("TEST call [%s] begin.\n", service);
    printf("sendbuf len=[%d]\n",sendlen);
    ret = tpcall(service, (char *)sendbuf, 0L, &rcvbuf, &rcvlen, 0);
    printf("ret=[%d]\n", ret);
    if(ret == -1) {
    printf("tpcall [%s] failed.\n", service);
    printf("Tperrno = %d, %s\n", tperrno, tpstrerror(tperrno));
    tpfree(sendbuf);
    tpfree(rcvbuf);
    tpterm();
    exit(1);
    printf("Returned string is: [%s]\n", rcvbuf);
    printf("tpcall successs.\n");
    /* Free Buffers & Detach from System/T */
    tpfree(sendbuf);
    tpfree(rcvbuf);
    tpterm();
    return(0);
    }

  • Example using TPINIT with vb and tuxedo

    Hello
    Does anybody has an example, using the TPINIT, for security password in a ws client,
    with tuxedo.
    Thanks a lot for any help,
    Ramiro Arraya A.
    Dpto. Desarrollo
    Sintesis S.A.
    Santa Cruz - Bolivia
    [email protected]

    Hi,
    What version of Visual Basic are you using? If it is Visual Basic.Net then you should be using the Tuxedo .Net workstation client libraries and not the workstation libraries. More information can be found at:
    http://docs.oracle.com/cd/E26665_01/tuxedo/docs11gr1/dotnet/dotnet_chapter.html
    You should only attempt to use the standard workstation libraries if you are using Visual Basic 6 or earlier, i.e., non-.Net versions of VB.
    Regards,
    Todd Little
    Oracle Tuxedo Chief Architect

  • Difference between native client and workstation client.

    hi,
    I am confused with the difference between native client and workstation client.In
    some docs,it is said that native client is one which run on the same system as
    the server,in other it is said running on other machine in the same domain.So
    what about workstation client?So can anyone please helpme out in knowing this
    difference?

    subhash wrote:
    hi,
    I am confused with the difference between native client and workstation client.In
    some docs,it is said that native client is one which run on the same system as
    the server,in other it is said running on other machine in the same domain.So
    what about workstation client?So can anyone please helpme out in knowing this
    difference?The simple answer is that /WS clients are compiled with the -w option.
    The complicated answer has to do with how the client connects to Tuxedo during the
    tpinit(), and all subsequent traffic. A Tuxedo Domain (instance) has a Bulletin
    Board, which is a chunk of shared memory with all kinds of information about Servers
    and Clients. A Native Client, since it is running on the same machine that the
    Bulletin Board exists on, can directly access the shared memory. However, /WS client
    (also called a remote client) cannot access this shared memory. Instead, we have the
    WSL server to make connections with, and then WSH processes that access the Bulletin
    Board on behalf of the remote client.
    So Native Clients run on the same machine as the Servers and where the Bulletin Board
    is located, and have direct access to shared memory and other IPCs. Workstation
    Clients/WS Client/Remote Clients (all the same thing) cannot access IPCs and have the
    WSH do it on their behalf.
    In NT, the Tuxedo IPC Service mimics Unix IPCs, and so all the above is still true.
    Brian Douglass
    Transaction Processing Solutions, Inc.
    8555 W. Sahara
    Suite 112
    Las Vegas, NV 89117
    Voice: 702-254-5485
    Fax: 702-254-9449
    e-mail: [email protected]
    [briand.vcf]

  • Adobe Creative Cloud - How To Share Files With Clients and Colleagues | Creative Suite Podcast: Designers | Adobe TV

    In this episode of the Adobe Creative Suite Podcast, Terry White shows how to share Photoshop, Illustrator and InDesign Files with clients and colleagues and all they'll need is a browser to comment and see your Photoshop Layers.
    http://adobe.ly/10ZjpE4

    Terry,
    I guess I miss something. How can I share a folder of photos? When I return from a shoot, I select 20 of the pictures and need to share them with my client to pick up the favorites. Am I supposed to copy and past an URL for each image separately?
    Sometimes I also work with a colleague, I need to share my favorites with him. Same issue.
    We have tried Adobe Cloud, and then went for Dropbox. There we can share a folder and he can put even his pictures in it as well. That's what I call collaboration. And it is free (unlike Adobe Cloud). If you have some word in Adobe, please tell them to either drop it and make a deal with services like Dropbox, or make it properly.
    Thanks.
    Vaclav

  • Connection between SDM client and server is broken

    Dear All,
    First of all this is what I have
    -NW04 SPS 17
    -NWDS Version: 7.0.09 Build id: 200608262203
    -using VPN connection
    -telnet on port 57018 is succesfull
    I can login to SDM server (from NWDS and from SDM GUI) I can see the state of SDM(green light), restart it, can navigate through tabs in GUI, but every time I am trying to deploy an ear i have this error:
    Deployment exception : Filetransfer failed: Error received from server: Connection between SDM client and server is broken
    Inner exception was :
    Filetransfer failed: Error received from server: Connection between SDM client and server is broken
    I have already read a lot of topics,blogs,notes but didn't find the solution.
    Can anybody help me?
    Best Regards

    Having same issue. Nothing helped so far... Using NWDS 7.0 SP18.
    I have turned SDM tracing on and this is what I see on client side after sending first data package:
    com.sap.sdm.is.cs.cmd.client.impl.CmdClientImpl: debug "20120224140253 0280/17 Client: finished sending string part"
    com.sap.sdm.is.cs.cmd.client.impl.CmdClientImpl: debug "20120224140253 0280/0 Client: receive String part from Server"
    com.sap.sdm.is.cs.cmd.client.impl.CmdClientImpl.receiveFromServer(NetComm ..): Entering method
    com.sap.bc.cts.tp.net.NetComm.receive(): Entering method
    com.sap.bc.cts.tp.net.NetComm: debug "Method "receive(char[])" could not read all requested bytes. There are still 12 bytes to read"
    com.sap.bc.cts.tp.net.NetComm: debug "Caught IOException during read of header bytes (-1,          43):Connection reset"
    com.sap.bc.cts.tp.net.NetComm: debug "  throwing IOException(net.id_000001)"
    com.sap.bc.cts.tp.net.NetComm.receive(): Exiting method
    com.sap.sdm.is.cs.cmd.client.impl.CmdClientImpl: Exiting method
    com.sap.sdm.is.cs.cmd.client.impl.CmdClientImpl: debug "20120224140253 0281/1 Client: connection was broken"
    com.sap.sdm.is.cs.cmd.client.impl.CmdClientImpl: Exiting method
    com.sap.sdm.is.cs.cmd.client.impl.CmdClientImpl: debug "20120224140253 0281/0 Client: finshed sendAndReceive"
    com.sap.sdm.is.cs.cmd.client.impl.CmdClientImpl: Exiting method
    My connection on server is still active so I have to restart SDM server to reset and try it again.
    Anyone have idea whats happening?
    Edited by: skyrma on Feb 24, 2012 2:46 PM
    Edited by: skyrma on Feb 24, 2012 2:47 PM
    Edited by: skyrma on Feb 24, 2012 2:47 PM

  • Async tcp client and server. How can I determine that the client or the server is no longer available?

    Hello. I would like to write async tcp client and server. I wrote this code but a have a problem, when I call the disconnect method on client or stop method on server. I can't identify that the client or the server is no longer connected.
    I thought I will get an exception if the client or the server is not available but this is not happening.
    private async void Process()
    try
    while (true)
    var data = await this.Receive();
    this.NewMessage.SafeInvoke(Encoding.ASCII.GetString(data));
    catch (Exception exception)
    How can I determine that the client or the server is no longer available?
    Server
    public class Server
    private readonly Dictionary<IPEndPoint, TcpClient> clients = new Dictionary<IPEndPoint, TcpClient>();
    private readonly List<CancellationTokenSource> cancellationTokens = new List<CancellationTokenSource>();
    private TcpListener tcpListener;
    private bool isStarted;
    public event Action<string> NewMessage;
    public async Task Start(int port)
    this.tcpListener = TcpListener.Create(port);
    this.tcpListener.Start();
    this.isStarted = true;
    while (this.isStarted)
    var tcpClient = await this.tcpListener.AcceptTcpClientAsync();
    var cts = new CancellationTokenSource();
    this.cancellationTokens.Add(cts);
    await Task.Factory.StartNew(() => this.Process(cts.Token, tcpClient), cts.Token, TaskCreationOptions.LongRunning, TaskScheduler.Default);
    public void Stop()
    this.isStarted = false;
    foreach (var cancellationTokenSource in this.cancellationTokens)
    cancellationTokenSource.Cancel();
    foreach (var tcpClient in this.clients.Values)
    tcpClient.GetStream().Close();
    tcpClient.Close();
    this.clients.Clear();
    public async Task SendMessage(string message, IPEndPoint endPoint)
    try
    var tcpClient = this.clients[endPoint];
    await this.Send(tcpClient.GetStream(), Encoding.ASCII.GetBytes(message));
    catch (Exception exception)
    private async Task Process(CancellationToken cancellationToken, TcpClient tcpClient)
    try
    var stream = tcpClient.GetStream();
    this.clients.Add((IPEndPoint)tcpClient.Client.RemoteEndPoint, tcpClient);
    while (!cancellationToken.IsCancellationRequested)
    var data = await this.Receive(stream);
    this.NewMessage.SafeInvoke(Encoding.ASCII.GetString(data));
    catch (Exception exception)
    private async Task Send(NetworkStream stream, byte[] buf)
    await stream.WriteAsync(BitConverter.GetBytes(buf.Length), 0, 4);
    await stream.WriteAsync(buf, 0, buf.Length);
    private async Task<byte[]> Receive(NetworkStream stream)
    var lengthBytes = new byte[4];
    await stream.ReadAsync(lengthBytes, 0, 4);
    var length = BitConverter.ToInt32(lengthBytes, 0);
    var buf = new byte[length];
    await stream.ReadAsync(buf, 0, buf.Length);
    return buf;
    Client
    public class Client
    private TcpClient tcpClient;
    private NetworkStream stream;
    public event Action<string> NewMessage;
    public async void Connect(string host, int port)
    try
    this.tcpClient = new TcpClient();
    await this.tcpClient.ConnectAsync(host, port);
    this.stream = this.tcpClient.GetStream();
    this.Process();
    catch (Exception exception)
    public void Disconnect()
    try
    this.stream.Close();
    this.tcpClient.Close();
    catch (Exception exception)
    public async void SendMessage(string message)
    try
    await this.Send(Encoding.ASCII.GetBytes(message));
    catch (Exception exception)
    private async void Process()
    try
    while (true)
    var data = await this.Receive();
    this.NewMessage.SafeInvoke(Encoding.ASCII.GetString(data));
    catch (Exception exception)
    private async Task Send(byte[] buf)
    await this.stream.WriteAsync(BitConverter.GetBytes(buf.Length), 0, 4);
    await this.stream.WriteAsync(buf, 0, buf.Length);
    private async Task<byte[]> Receive()
    var lengthBytes = new byte[4];
    await this.stream.ReadAsync(lengthBytes, 0, 4);
    var length = BitConverter.ToInt32(lengthBytes, 0);
    var buf = new byte[length];
    await this.stream.ReadAsync(buf, 0, buf.Length);
    return buf;

    Hi,
    Have you debug these two applications? Does it go into the catch exception block when you close the client or the server?
    According to my test, it will throw an exception when the client or the server is closed, just log the exception message in the catch block and then you'll get it:
    private async void Process()
    try
    while (true)
    var data = await this.Receive();
    this.NewMessage.Invoke(Encoding.ASCII.GetString(data));
    catch (Exception exception)
    Console.WriteLine(exception.Message);
    Unable to read data from the transport connection: An existing   connection was forcibly closed by the remote host.
    By the way, I don't know what the SafeInvoke method is, it may be an extension method, right? I used Invoke instead to test it.
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Sequencing multiple versions of the VMWare vSphere client (and reducing the size of the final sequence)

    Application Name:  vSphere client
    Application Version:  4.1, 5.0, and 5.5 (all in one package)
    Company Name:  VMWare
    Sequencer Version:  5.0 SP1 or SP2
    App-V Client Version Tested On:  5.0, 5.0 SP1, 5.0 SP2
    Operating System Sequenced On:  Windows 7 (64bit)
    Pre-requisites:  Orca
    Client Operating Systems Successfully Deployed To:  Windows 7 (64bit), Windows Server 2008 (64bit)
    *Posted by non-Microsoft Employee:  Cody Lambert (a Fortune 100 company)
    If Posted by Microsoft Employee, the Corresponding KB Article Reference: 
    N/A
    Steps to Prepare and Sequence the Application:
    Phase 1:  Prepare vSphere install to be used in your sequence (to be performed prior to sequencing)
    Clear %TEMP% directory on machine you are using to prepare the install
    Create a folder that will be referred to as "vSphereInstDir"
    that install files are copied to
    Download the vSphere 5.5 client from your vSphere management server
    Run the installer for the vSphere Client
    Once at the Language Selection portion of the installer,
    using windows explorer browse to the %temp% directory and copy the files that were just created when the vSphere installer extracted to a directory (name it vSphereInstDir)
    Kill the installer
    Find VMware-viclient.exe in the files you just copied
    and run it
    Once at the "Welcome to the installation
    wizard" stage of the installer, using windows explorer browse to the %temp% directory and copy the files that were just created into the vSphereInstDir
    Kill the installer
    Find the VMware vSphere Client 5.5.msi in the vSphereInstDir,
    in the second set of files you copied over
    Using Orca, open the VMware vSphere Client 5.5.msi
    Drop the following rows from the msi (some of the rows may have additional text at the end of the names) (InstallExecuteSequence/VM_InstallHcmon,
    InstallExecuteSequence/VM_InstallHcmon_SetData,
    InstallExecuteSequence/VM_InstallUSB,
    InstallExecuteSequence/VM_InstallUSB_SetData,
    InstallExecuteSequence/VM_InstallUSBArbritrator,
    InstallExecuteSequence/VM_InstallUSBArbritratorSetData,
    InstallExecuteSequence/VM_StartUSBArbSvc) 
    Save the VMware vSphere 5.5.msi in place
    Copy the vSphereInstDir to a network location that
    can be used during sequencing on your Sequencer
    Phase 2:  Sequence the vSphere Client
    Pre-requisites:  All of the latest available VC++ redist (x64 and x86) are installed on the Sequencer VM
    Copy vSphereInstDir to your temporary install directory on your Sequencer (mine is C:\temp)
    Start up the Sequencer
    Click Create a New Virtual Application Package
    Click Next with Create Package (default) selected
    Click Next on the Prepare Computer screen, taking
    note of any findings
    Click Next with Standard Application (default) selected
    Choose Perform a custom installation, then click Next
    Input the Virtual Application name (vSphere Client
    5.5 for example)
    Enter the Primary Virtual Application Directory (C:\vSphere55
    for example) and click Next
    Using Windows Explorer find the Visual J# install (vjredist64.exe) in the vSphereInstDir you copied over.  Install using defaults
    Using Windows Explorer, find and install the vSphere client using the VMware vSphere Client 5.0.msi located in the vSphereInstDir you copied over. 
    Change the installation directory to use the Primary Virtual Application Directory you configured above (C:\vSphere55 for example).  Install using
    defaults
    While the sequencer is still monitoring changes connect to the 4.1 environment to get the files needed.  To do this, launch the vSphere client and connect
    to your 4.1 environment.  When prompted, choose RUN to install the files needed for the 4.1 environment.
    While the sequencer is still monitoring changes connect to the 5.0 environment to get the files needed.  To do this, launch the vSphere client and
    connect to your 5.0 environment.  When prompted, choose RUN to install the files needed for the 5.0 environment.
    With the sequencer still monitoring changes, after the additional environments have been installed, delete all of the language folders from the install locations
    that are not required.  You will find that there are language folders in each of the different modules that are installed.  Make sure look in every folder.  This will free up approximately 300mb from the package.
    When done, check the box to finish the sequence and continue cleaning up the sequenced application.
    Known Issues/Limitations: 
    Functions that require the USB Arbritration Service will not work
    Approximate Sequencing Time: 
    20 minutes
    Descriptive Tags: 
    App-V, 5.0, VMWare, vSphere, Recipe, Guidance
    Credit Due:  Thanks to Rorymon and Aaron Parker for accurate information that allowed for me to put together this recipe.

    Can you double check the that the following were removed from the MSI:
    InstallExecuteSequence/VM_InstallHcmon
    InstallExecuteSequence/VM_InstallHcmon_SetData
    InstallExecuteSequence/VM_InstallUSB
    InstallExecuteSequence/VM_InstallUSB_SetData
    InstallExecuteSequence/VM_InstallUSBArbritrator
    InstallExecuteSequence/VM_InstallUSBArbritratorSetData
    InstallExecuteSequence/VM_StartUSBArbSvc

  • I cannot route to remote subnets from cisco vpn client and pptp client

    Hi guys,
    I've a big problem, I configured a 877 cisco router as a cisco vpn server (the customer use it to connect to his network from pc) and a pptp vpn server (he use it to connet to the network from a smartphone).
    In this router I created 2 vlan, one for wired network (192.168.10.0/24) and the second one (10.0.0.0/24) for wireless clients and I use fastethernet 3 port to connect these to the router.
    this is the issue, when the customer try to connect to a wireless network from both of vpn clients he cannot do this, but if he try to connect to a wired network client all working fine.
    following the addresses taken from the router.
    - encrypted vpn client -
    ip address. 192.168.10.20
    netmask 255.255.255.0
    Default Gateway. none (blank)
    - pptp vpn client -
    ip address. 192.168.10.21
    netmask. 255.255.255.255
    Default Gateway. 192.168.10.21
    Is possible that I cannot reach the remote subnet because the clients doesn't receive a gateway (in the first case) or receive the wrong subnet/gateway (in the second one)..?
    There is anyone can help me..?
    Thank you very much.
    Many Kisses and Kindly Regards..
    Ilaria

    The default gateway on your PC is not the problem, it will always show as the same IP address (this is no different when you dial up to an ISP, your DG will again be set to your negotiated IP address).
    The issue will be routing within the campus network and more importantly on the PIX itself. The campus network needs a route to the VPN pool of addresses that eventually points back to the PIX.
    The issue here is that the PIX will have a default gateway pointing back out towards your laptop. When you establish a VPN and try and go to an Internet address, the PIX is going to route this packet according to its routing table and send it back out the interface it came in on. The PIX won't do this, and the packet will be dropped. Unless you can set the PIX's routing table to forward Internet packets to the campus network, there's no way around this. Of course if you do that then you'll break connectivity thru the PIX for all the internal users.
    The only way to do this is to configure split tunnelling on the PIX, so that packets destined for the Internet are sent directly from your laptop in the clear just like normal, and any packet destined for the campus network is encrypted and sent over the tunnel.
    Here's the format of the command:
    http://www.cisco.com/univercd/cc/td/doc/product/iaabu/pix/pix_62/cmdref/tz.htm#1048524

  • How to configure full tunnel with VPN client and router?

    I know the concept of split tunnel....Is it possibe to configure vpn client and router full tunnel or instead of router ASA? I know filter options in concentrators is teher options in ISR routers or ASA?

    I think it is possible. Following links may help you
    http://www.cisco.com/en/US/products/hw/routers/ps274/products_configuration_example09186a0080819289.shtml

Maybe you are looking for