TCP/IP used in a re-entrant vi.

How can I use a vi in a loop that contains TCPIP vi's(listener nand etc.) and will not lock up the next time it is called ?
Test Engineering
Empower RF Systems Inc.

I think the problem you are having is a timing one, all TCP/IP vi's have a timeout option, if you set it to -1, the vi will wait forever until it completes (read, write, listen...), by default, listen has a forever wait, read and write 25 seconds, you could reduce this or be sure the action occurs in a short amount of time. If you set this time to 0, the vi won't wait, but will return an error if action is not ready to be completed. If you give more info of what are you trying to do, someone could help you.
Hope this helps

Similar Messages

  • TCP Ports used by SAPGUI

    Dear,
    I am trying to configure access to our SAP ECC6 system on our firewall.
    What are the TCP ports used by SAPGUI?
    As far as I can tell with netstat it uses these:
    sapgw89  3389/tcp
    sapdp02  3202/tcp
    I understand that sapdp02 indicates system 02,  what does sapgw89 stand for?
    Are there any other ports necessary than these two?
    Thank you,
    Pieterjan

    > What are the TCP ports used by SAPGUI?
    >
    > As far as I can tell with netstat it uses these:
    > sapgw89  3389/tcp
    > sapdp02  3202/tcp
    >
    > I understand that sapdp02 indicates system 02,  what does sapgw89 stand for?
    Is a gateway to a system with number 89.
    Basically you need ports 3200-3299 and 3300-3399 or a subselection of these depending on your systemnumber(s).

  • Anyone else having an issue with TCP connections using iCloud for Windows?

    Hi,
    Before I asked this question, I did wait to see if any related questions came up, but none did, so I submit it now.
    On my admittedly older laptop running Windows 7 64b Home, I've run into difficulties with the iCloud for Windows app to the extent that I had to uninstall it.
    It would that, as my laptop was running, in the background, iCloudServices.exe would endlessly iterate TCP connections, which, while not actively sending or receiving any data, after some hours would number over 100 instances, taking up resources, and grinding my laptop's WiFi connection to a grindingly slow pace. I ended up, within the app, turning off everything, iCloud Drive and Photos, (I never used bookmarks), but still this would continue to occur.
    I contacted Apple Support, explaining what was going on, and they stated they only dealt with IOS and gave me a Microsoft Support number. When I called Microsoft support, I came more and more to the realization that the issue was specifically with the iCloud for Windows app, as that was the only software that was endlessly creating and not closing TCP connections as it was. How was Microsoft supposed to solve an issue with Apple code?
    So I called Apple back, whereupon they insisted it was a Microsoft issue. I explained other cloud services installed on the same computer were not having the same issue, it was unique to ICloudServices.exe. They stated they only dealt with IOS. I stated I purchased an iPad Air less than 7 months ago, and was trying to run iCloud in support of that.  They again stated they only dealt with IOS, and suggested I again try Microsoft. I asked them if it was reasonable to expect Microsoft to solve issues with Apple code? They said regardless, there was zero support offered for anything having to do with Windows, and all I could do was uninstall the app, which I did, though that did not feel very satisfactory to me. My thinking is, if Apple writes a Windows app in support of their hardware, they should offer support for it.
    Anyway, I was just wondering, is this an issue unique to me? or have others experienced a similar issue? I found this issue by opening the Windows Resource Monitor, looking under the Networking tab, and scrolling through the TCP Connections section to find 100+ concurrent iCloudServices.exe instances listed, whereas even Chrome, with multiple tabs and extensions, topped out at around 20.
    My one month old Desktop, DYI, sports a solid Asus 1150 MoBo, i7-4790k cpu, 16GB Ram, and an EVGA GTX 970 video card. I list some specs only to illustrate this computer has no hardware issues in comparison to my long in tooth laptop. On this desktop, running Win 8.1 Pro 64b,  at least as many, identifiably Apple, background service TCP connections are created even compared to Chrome, regardless of many tabs being open, many extensions, and even some related apps. Adobe does not even come close, though I run the full CC subscription. On this new computer, running Windows 8.1 Pro 64b, there are currently over 50 TCP connections and loopbacks that do not identify themselves, with just a - for the Image, and PID. With the experience on my laptop, I wonder how many of these are generated by Apple software, if not specifically iCloud software?
    The frustrating aspect of these connections is they seem in no way active, While the Chrome and Adobe connections can be seen to be transferring data, as long as I am not running iTunes, or so have my iPad actually plugged in, it seems 99% of the time these iCloudServices.exe connections are just taking up ports, neither sending nor receiving any data discernable to me under the Processes with Network Activity, or Network Activity lists, both displayed in the same window as the TCP Connections in the Windows Resource Monitor.
    Though I am fairly ignorant as regards coding, it seems as if there is no call to close a connection, very specifically, iCloudServices.exe, when it is no longer needed, and the next time a connection is needed, a new one is opened, rather than accessing the one previously opened. The only other reason I could imagine this might be occurring is if my Norton Internet Security software might mask and/or block the port after a certain time of inactivity.
    Anyone out there have any ideas or advice about this? Thanks in advance.

    Thanks jared,
    I'm still dealing with this issue through Apple. Some time after I posted this, I contacted Apple again. They did start a case up for me, as I was experiencing the same behavior on two different machines, with two different versions of Windows.
    So far it remains unsolved. I've logged iClouds for Windows on my desktop, which is brand new, then logged for awhile after completely uninstalling Norton Security Suite, depending on the Microsoft security for some time, and finally logged after I uninstalled iCloud for Windows, restarted, installed a clean download, and connected using a completely different test account, which Apple set up for me. None of this made any difference. Looking at the logs, it seems every 10 minutes, iCloudServices.exe creates a new TCP connection to confirm I'm using less than 5GB on iCloud, (which I am by a good margin, using less than 2GB), it seems this connection is not closed, and when the next iteration rolls around 10 minutes later, a new TCP connection is created. I come very close to having 6 TCP connections created per hour, until I restart my computer. This works out to... 6 x 24 = 144/day.
    Perhaps the article you posted will shed some further light on this. I'm thinking seeing the state of the connection through netstats, at the least, could help.
    For the last week, I've been putting a hold on further logging, as Apple wants me to create a new user account on one of my computers, install iCloud for Windows there, and log it running in the other account. This however basically means I cannot use my computer for a fair number of hours, and I've been busy enough with work the past week that I haven't the time or energy to afford to set this up and run it. I've had need of my computers too much for the past week.

  • TCP/IP using SSL

    Hi,
    Does anyone has any idea on how to do SSL based TCP/IP communication.
    Any help/ideas/suggestions would be appreciated.
    Thanks,
    Runjhun Agarwal.

    Looking at the diagram of said HTTPS VIs wouldn't help you anything to use SSL for standard TCP/IP socket connections. The HTTPS VIs call directly into a shared library that implements the HTTPS functions in C code by incorporating the OpenSSL library into the socket creation and then implementing HTTP on top of it.
    The way SSL works there is no easy way to add SSL support to the standard LabVIEW TCP/IP nodes since SSL really is implemented in an intermediate layer between the actual socket interface and the TCP/IP application interface. All useful libraries that implement SSL are based on the assumption that they can be directly layered on top of the system socket API, and that is not available from the LabVIEW diagram. Without chaning the very fundamentals of the LabVIEW TCP/IP nodes itself, the only two ways that rest are either to implement whatever SSL based protocol you want entirely in an external C/C++ library, like the HTTPS VIs do and access it from there or reimplement the SSL protocol on top of the LabVIEW network nodes in LabVIEW VIs. The second option is obviously not really an option since SSL being a security feature is not something that you can trust if it just appears to work fine. And verifying that it is secure and can be trusted is something only a few experts can do and they are very unlikely to go and learn LabVIEW in order to assess the correctness of such a solution.
    Several years ago I posted a library at lavag.org that used OpenSSL and attempted to offer an interface similar to the LabVIEW TCP/IP nodes but allowing to configure it to also include various SSL protocols underneath. However this project never really went further than a proof of concept, mainly because of lack of time but also because the complexity was rather high, also because of the idea to make it multiplatform across Linux, Windows and Mac. Add to that that LabVIEW added (less flexible) HTTPS support in recent releases and the main interest for such an API library mostly went away.
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • 2 way TCP connection using IP addresses

    Hi All,
    I need to pass data in both directions between 2 pc's connected to the internet. I am aware of the various TCP/IP and data socket examples, I am using Labview 7.0. I dont know much about the ptotocol involved but figure I only need a few pieces of info.
    If the server machine wants to connect to a client machine on the same network I understand no changes are required to the example vis (ie port 2055 used in Simple Data Server). But what would happen if the server PC wanted to connect to a client in a different country? Is that when IP addresses are needed?
    I imagine my final vi front panel will have a "This machines IP Addr" and "Client's IP Addr" text box, operators of the machines then tell the other person their mac
    hine IP address which is entered manually to setup a 2 way link.
    Is it possible to get Labview to find the full IP address of the machine ready for the other user to type in. Thanks in advance
    Regards Chris

    On the client side the users will need to fill in the IP address or domain of the server. If that IP is on the Internet or somewhere else that will work as long as the client PC has physical access and permission to open a tcp connection (no firewalls that block the port you are using etc.)
    Make a connect dialog that pops up if the user chooses to connect and have the user input the IP there and click OK. You can add functionality like bookmarks and "home page" to make things easier. If a home page / server is defined the client can connect to that upon startup. You may want also to add functionality that will reconnect in the background if the connection is lost.
    The client's IP is of less interest. If you need it though just use the string to IP function
    and the IP to string function from the tcp/ip palette. Do not wire anything to the former funtion but wire it's output to the latter. The latter will then output the IP of the local PC.
    MTO

  • Polling gpib/enet unit over tcp/ip using java

    I understand that there is a linux driver for the gpib/enet product. Since I assume this device is polled over a tcp/ip connection, do I need to do this in C, ot can I establish a socket connection using java ? If so, what is the driver for ? is it just to assign an ip address and other setup functions ?
    Thanks
    John Adams

    Hi John,
    You do not need to do this in C. In fact you can do it in just about any language. The librarys are exported to a shared object, so as long as your language can make calls to a .so, you are good to go. I am positive that java has this capability.
    Hope this helps out! If you need the driver, it is available at www.ni.com/linux.
    Best Regards,
    Aaron K.
    Application Engineer
    National Instruments

  • TCP sender, using threads

    Hi everyone, i'm relatively new to threads, so please bear with me.
    i'm trying to write a client program that sends packets using some sort of flow control resembling TCP but not quite, and i'm not sure how to go about it. using a threaded approach, how could i do this:
    loop(forever)
    switch(event)
    event: data received from application above;
        create header and segment;
        start timer;
        send segment;
        break;
    event: timer times out for segment n;
        send segment again;
        break;
    }I'd appreciate any help, but code snippets would be the most helpful. thanks for your time!

    the class needs to either extend Thread or implements Runnable. You can do socket read block inside run method.
    public class SocketListener implements Runnable
      public void run()
           InputStream  in  = socket.getInputStream();
           while(true)
                  //socket read block    
                  in.read();
    }

  • How to comminucate with multiple PLCs with Modbus TCP/IP using dynamic multithreads?

    I have an application in which I communicate with several PLCs using MODBUS TCP/IP toolkit. There is an array of IP addresses that the user can configure. Using for loops allows to work with this however if one PLC is out, the program waits for the timeout before polling the next PLC. I would like to use a multithreading type in order that all PLCs are polled at once and is not dependent of each other. In other words, I would like to dynamically simulate several while loops happening at the same time. Is this possible?
    Thanks
    arikb

    arikb wrote:
    Thanks A_Patel,
    I thought of doing that but do I need to run this as a VI server in that case? How would I pass inputs and outputs of the subvi?
    Appreciate the help,
    arikb
    Take a look at my Nugget on dynamically creating occurences found here.
    Just ignore the Occurence stuff and the rest of the code and verbage should help you. The example code creates a bunch of background processes and passes a unique parameter to each.
    Have fun,
    Ben
    Ben Rayner
    I am currently active on.. MainStream Preppers
    Rayner's Ridge is under construction

  • Many TCP connections used after 9i install

    I've installed 9i personel on XP Pro as a learning aid in advance of installing it to a real server. I notice (using "netstat") that there are now many TCP connections from my machine to localhost (also my machine) on ports from 2192 through 2267. All seem to be in a time_wait state. Are these normal and necessary?
    Thanks!

    I've installed 9i personel on XP Pro as a learning aid in advance of installing it to a real server. I notice (using "netstat") that there are now many TCP connections from my machine to localhost (also my machine) on ports from 2192 through 2267. All seem to be in a time_wait state. Are these normal and necessary?
    Thanks!

  • TCP connections used by RMI

    hello,
    I tried making a simple RMI application to check about the usage of TCP connections for the communication. The client and server are running on different hosts and my observations are:
    a) when the client is invoking a method on the server at an interval of about 1 sec, then the same connection is used everytime for the communication.
    b) when the client is invoking a method on the server at an interval of about 30 sec, then the a new TCP connection is made everytime for the communication !
    The java.rmi.dgc.leaseValue is set to 100 minutes in both cases. Does this not mean that the connection should be maintained for 100 minutes even if there is no communication between the client and server ??

    thanks, I could not find any parameter in the standard properties list, however in the SUN specific properties we do have sun.rmi.transport.proxy.connectTimeout which should control the connection life. I use IBM's JRE, so I will try to find an equivalent property.
    Another question ... what is the benefit of java.rmi.dgc.leaseValue if the TCP connection is closed itself ? Does the gc not happen if the TCP connection itself breaks ? Or does the RMI think about a logical connection which is independent of TCP connection's life ?

  • Implementing C language TCP header using Java

    Hello,
    I am in need of implementing the following C language code under Java...
      short len;
      struct
        char trans_id[4];
        char trans_filler[46];
        char data_vector[2];
        char data_len[2];
      } tcp_hdr;
      len = 257;
      memcpy(&tcp_hdr.trans_id[0], "SURV", 4);
      memset(&tcp_hdr.trans_filler[0], NULL, sizeof(tcp_hdr.trans_filler);
      tcp_hdr.data_vector[0] = 0x00;
      tcp_hdr.data_vector[1] = 0x08;
      memcpy(&tcp.hdr.data_len[0], &len, 2);
    }The code is used to create a TCP header that is prefixed on all Socket messages sent to the host.
    I thought I would throw this out and see if anyone has any ideas on how to implement this...
    Thanks.
    -Jeff

    Hello,
    I am in need of implementing the following C language
    code under Java...
    short len;
    struct
    char trans_id[4];
    char trans_filler[46];
    char data_vector[2];
    char data_len[2];
    } tcp_hdr;
    len = 257;
    memcpy(&tcp_hdr.trans_id[0], "SURV", 4);
    memset(&tcp_hdr.trans_filler[0], NULL,
    sizeof(tcp_hdr.trans_filler);
    tcp_hdr.data_vector[0] = 0x00;
    tcp_hdr.data_vector[1] = 0x08;
    memcpy(&tcp.hdr.data_len[0], &len, 2);The code is used to create a TCP header that is
    prefixed on all Socket messages sent to the host.
    I thought I would throw this out and see if anyone
    has any ideas on how to implement this...
    Thanks.
    -JeffWhat is the problem? You can write an identical header in many different ways. One is to use DataOutputStream.
    Kaj

  • How to read data over tcp/ip using labview

    Hi,
    I have a network enabled force transducer (6-axis load cell). I know its IP addr. and the data format it is sending the data out (7 32-bit DWORD, One status and 6 axis force data) . I have been playing around with the simple data client.vi example program. 
    When I executed the program using the devices IP addr. I used to get error 63: TCP/IP connection open. Then I ran the program using localhost in IP addr field, the program executes now indefinetly at one block only. I am attaching the screenshot for ref. 
    Thanks.
    Sasi.
    Attachments:
    TCP-IP.JPG ‏62 KB

    Hello,
    I'm wondering if you can create a rather simple VI that just tries to open and close a TCP connecting to your transducer. All you would need is a TCP Open and a TCP Close wired together with the proper IP address etc. Does this run? I did look to see if there was any NetFT information and I could not find anything. I feel that the problem lies in the communication protocol between your transducer. Another place to see if you can connect to it would be to try hyperterminal. You can access this in Windows XP by clicking Start»All Programs»Accessories»Communications»HypeTermina. Using this, you can try and connect to your instrument with TCP/IP outside of LabVIEW. You might also want to get in contact with the manufacturer to verify that third-party software can indeed communicate with it. There may be a specific set of instructions that need to be sent to the transducer in order to initiate the connection and then read from it. These may be in the form of serial commands that would need to be sent over TCP. What is the make and model of your transducer?
    -Zach
    Certified LabVIEW Developer

  • Has anyone Experienced TCP resets using SSL in 3l

    We are using forte 3l and have built a forte library using C that
    encapsulates RSA SSL-C encryption. We call this library from forte as a web
    client to make a request of a Netscape webserver for an https connection.
    After the conversation the webserver sends a FIN and then the forte side
    ACK's. Then the forte side sends a write notify package and then a FIN. At
    that point the webserver sends us a Reset. This Reset is the problem
    because it is happening every connection which is creating a great deal of
    overhead. Any Ideas?
    Dan Costello, MS & MBA
    Project Manager
    Intelidata
    Work- (402) 951-1511
    Cell- (402) 212-8753
    Fax- (402) 951-1597
    Pager- (888) 628-8660
    Alpha Page- pagedanhomeaccount.com
    E-mail- dcostellhomeaccount.com

    Joel, I am having the same problem you described. I have read of similar posts on PrintPlanet.com. Someone there thought it was a different text engine or something in CS4 which may be causing the problem.
    I don't know what causes this but I believe it can be traced to a previously created file in CS3 is saved as a CS4 document.
    The fonts associated with this problem for me are always Gill Sans, Palatino and some form of Helvetica. There may be others but these are the ones we notice the most.
    Today I worked on an InDesign CS4 file. When I opened it I was given a missing font warning. I went to Find Font and it was different typefaces of Gill Sans that was missing. When I changed the missing font to Gill Sans Regular entire lines of text disappeared. I closed the document without saving it and reopened it. I did the same thing in replacing fonts. This time no text disappeared. Not reflowed; not white; not hidden—gone.
    This is what I have been seeing for the past few months. The disappearing text is random and cannot be duplicated, though fonts may disappear in some other place. You never know where text will just disappear.
    The workaround I have found is to export your file to an INX document and reopen it in CS3. You have to replace all missing text before saving it as INX, though. To my knowledge CS3 has never had this happen.
    The workaround, though it works for me, is annoying. I'd like to know what to do to resolve this issue. What's the use in having CS4 if you can't trust it completely.
    I use a Mac running 10.6.3. I also have running Suitcase Fusion 2.

  • BPEL TCP Ports using RejectionMessage.wsdl

    Hi all
    I´m having a problem with ports used by BPEL server on IAS and on OC4J.
    I was designing a BPEL process which uses RejectionMessage.wsdl file (provided by BPEL server). I was following Oracle instructions to do that:
    <import namespace="http://xmlns.oracle.com/pcbpel/rejectionHandler"
    location="http://localhost:9700/orabpel/xmllib/jca/RejectionMessage.wsdl"/>
    But this file has a reference to another file:
    <import namespace="http://xmlns.oracle.com/pcbpel/errorHandling" schemaLocation="http://localhost:7779/orabpel/xmllib/jca/JCAErrorHandling.xsd"/>
    But look at this:
    Port_____OC4J___________IAS
    7777_____Not Used_______Used
    7779_____Not Used_______Not Used
    9700_____Used__________Not Used
    So:
    If I edit RejectionMessage.wsdl to references JCAErrorHandling.xsd on port 9700, it get´s work on my OC4J development machine, but stops at IAS production machine
    If I edit RejectionMessage.wsdl to references JCAErrorHandling.xsd on port 7777, it stops to work on my OC4J development machine, but get´s work at IAS production machine.
    What is your recomendation?
    Thanks at all

    Hi Clements
    Ok, thanks for your answer.
    Have you already used RejectionMessage.wsdl with a File Adapter?
    The problem I´m facing now is that the message sent (to my dedicated BPEL Process which implements RejectionMessage.wsdl interface) by the File Adapter when a fault occurs has very poor content. If I look at BPEL server log the fault has a complete explanation...
    Is there a way to get the complete error message?

  • Detecting non-standard ftp usage (!= tcp 21) using IDSM2 5.0 & CN-MARS v3.4

    Hello,
    We recently installed our IDSMs and a MARS box to monitor our core traffic. I'm trying to set up a MARS "User Inspection Rule" to notify me when there is FTP traffic on a port other than port 21. Is there an easy way to do this?
    I don't see any IPS sigs that will trigger on normal FTP events(e.g. open data connection success, STOR and RETR request, etc.) I'm sure someone out there has already set up something like this before? Any help is appreciated.
    Ryan

    Take a look at sig 3171 to get a feel for how a custom signature might look, then create your own. To be honest, I've not done a lot of custom sigs...but looking on every port for ftp-like behavior seems like it might put quite a burden on your sensor.

Maybe you are looking for