Stop tcp listen and tcp read

Hi all,
if i use the tcp listen and tcp read blocks with a time out of -1, how can i stop their execution if they are waiting for incoming connection or data?
The tcp read block is in a while loop and the stop button state isn't evaluated, since the read block is in wait. 
some one can tell me a solution to this problem compatible with S-RIO target device?
thanks
Solved!
Go to Solution.

i try to explain better with an example.
1) run the server
2) run the client
3) try to stop the server without stopping the client --> the server never stops due to the infinite timeout on the reader.
note: the client doesn't  close the connection after sending "hallo" 4 times.
the question is: is it possible to have the server waiting for data and the stop but evaluated when pushed?
Attachments:
example.zip ‏15 KB

Similar Messages

  • TCP client and TCP server...

    i m doing a project in GUI form, where the client need to enter data in text field and the data will be pass to server to process, for example if client click button "ADD" then a particular data will pass to server and do sth (save data into a file), or if client click button "DELETE", the client is actually call server to delete a particular file stored in server, how can i do it using TCP socket ??

    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.

  • How can I fix consistent TCP timeout and make data flow simpler?

    Hi!
    I'm acquiring data from a Scanivalve Digital Scanning Array through a TCP/IP connection. I'm having problems with the connection timing out regularly. It will run fine if you take data several times in a row, but if the VI sits for several minutes (while looking at previous data runs or adjusting test setup) the connection will timeout the next time you try to take data. The subVIs (reading the tcp connection, processing the data pakcet, etc) were provided by the manufacturer several years ago. The midlevel VI were written by another engineer, and I adapted them to run with the top level VI that I needed for this test. The data flow in the VIs are convoluted and while I can follow the ones t
    hat I wrote, I'm not sure how to troubleshoot the others.
    I posted a question on an unrelated problem and the responses mentioned that race conditions were going to be a problem b/c of all of the global variables.
    Please be patient with my lack of knowledge in some areas. Any help would be appreciated.
    Thanks so much!
    -Sarah
    Engineering intern
    Techsburg, Inc.
    Attachments:
    DSA_Acquistion_VIs.zip ‏253 KB

    I'm not positive about the best solution in this situation, but there is lots of information available regarding error 56 when using TCP/IP communication.
    You might find some of these useful:
    Error 56 Occurred at TCP Open: Windows XP Fails as TCP/IP Server with LabVIEW 6.1.
    Error 56 Occurs When Using TCP Listen.vi
    TCP/IP Error Codes and Related Time-out Issues in LabVIEW

  • TCP Listen only accepts 1 packet

    Hello,
    I am trying to create a RS232 to TCP/IP converter VI. I am trying to use this VI to allow my main VI to communicate with a microcontroller (using rs232) over a network and I do not have access to a hardware converter.  The VI works great for sending data from the microcontroller ( rs232 -->TCP) but I am having problems getting information to the microcontroller (TCP --> rs232). I have tried numerous server configurations using the TCP Listen and Create Socket. For some reason I can only seem to receive a packet when using TCP Listen and no while loop but then it only receives 1 packet and none after that. I have used other programs to verify that the main VI is correctly sending the packet to that port and have verified that the problem is in this VI. 
    The following image is the "working" version that only receives the first packet sent to it 
    The following two pictures are the other configurations I've tried but they receive no packets.  
    TCP Listen with while loop 
    TCP Wait on Listener
     If you can provide any help it will be much appreciated.
     Thank you,
                 meanmon13
    Solved!
    Go to Solution.

    Those wont work because you aren't thinking dataflow. Dataflow means each piece will execute when all the inputs to it are available. Your first while loop runs forever. There is an input to the second while loop coming from the first while loop. Hence, it will never get to your second while loop, and thats why you aren't receiving anything.
    Put everything in one loop and use error wires to control the order
    Message Edited by for(imstuck) on 06-09-2010 11:26 AM
    CLA, LabVIEW Versions 2010-2013

  • TCP Flags and FW flags

                       Hi everyone,
    I was reading cisco documentation
    http://www.cisco.com/en/US/products/ps6120/products_tech_note09186a0080bcad00.shtml
    It says for outbound connection from FW
    TCP FLAG                            FW FLAG
    SYN   --------------->                  saA
    SYN+ACK <-----------------          A
    ACK    ------------------>                U
    Need to understand that TCP FLAGS are sent by PC  from inside the Network to the FW.
    FW Flags are generated  by FW  ? or FW flags are sent by server  from  outside to the FW?
    Thanks
    Mahesh

    Hi Mahesh,
    The TCP flags you mention above refer to the 3 Way Handshake between a host opening a TCP connection to a server.
    The flags on the ASA firewall are shown with commands "show conn" or "show conn detail" which show what the state of the TCP connection is from the ASAs perspective.
    You can use the "show conn detail" to view the different flags and their meaning on the ASA CLI.
    As you could see referring to the "show conn detail" output the FW Flags would mean this
    saA = ASA has seen the "inside" host send a TCP SYN. It is still waiting for the "outside" host to send a TCP SYN and TCP ACK. It is also waiting for a TCP ACK from the "inside" host
    A = As the ASA receives the TCP SYN, ACK from the "outside" host, it removes all but the flag that represents that its waiting the ACK from the "inside" host
    U = When it receives the TCP ACK from the "inside" host it will finally show the flag U which means the TCP connection is up
    UIO = When Data starts passing through this TCP connection the ASA will also add the flags I and O. These means Data in Inbound and Outbound direction.
    The terms "inside" and "outside" above DONT refer to the "nameif" of an interface. They refer to the interface "security-level". The one with higher "security-level" is refered to in the ASA flags by inside and the one with lower "security-level" is referred to as the outside.
    Here is also a good page online about the same subject
    http://ccnpsecurity.blogspot.fi/2011/11/asa-flags-associated-with-tcp.html
    Hope this helps
    - Jouni

  • Question regarding Listener and Server Processes in dedicated server mode

    Good morning,
    The Oracle documentation states that when a client connection request is received on the server, the Listener creates a Server Process which will work with the database instance to carry out the tasks requested by the user/client process. So far, everything good.
    Now, when the user is at the Oracle server itself, the Listener does not need to be running to establish a connection to the database. It is therefore possible to stop the Listener and still connect using sqlplus and a valid username and password.
    In the above case, the question is: if the Listener is not running, what/who created the Server Process that communicates with the database instance on behalf of the user ? Stated a different way, in the normal case, the Listener would get the request and create the server process. When the Listener is not running what part of Oracle gets the requests and creates the server process ?
    Clarification on how this case is handled is much appreciated, thank you,
    John.

    When using bequeath protocol the server process is created by the client process: it's the client process that is using ORACLE_SID and ORACLE_HOME to compute shared memory key (under UNIX) to know which SGA to attach (i.e. which instance to connect to):
    Example with SQL*Plus :
    $ ps -fu oracle | grep DB112
    oracle    5675     1  0 18:13 ?        00:00:00 ora_pmon_DB112
    oracle    5677     1  3 18:13 ?        00:00:02 ora_vktm_DB112
    oracle    5681     1  0 18:13 ?        00:00:00 ora_gen0_DB112
    oracle    5683     1  0 18:13 ?        00:00:00 ora_diag_DB112
    oracle    5685     1  0 18:13 ?        00:00:00 ora_dbrm_DB112
    oracle    5687     1  0 18:13 ?        00:00:00 ora_psp0_DB112
    oracle    5689     1  0 18:13 ?        00:00:00 ora_dia0_DB112
    oracle    5691     1  0 18:13 ?        00:00:00 ora_mman_DB112
    oracle    5693     1  0 18:13 ?        00:00:00 ora_dbw0_DB112
    oracle    5695     1  0 18:13 ?        00:00:00 ora_lgwr_DB112
    oracle    5697     1  0 18:13 ?        00:00:00 ora_ckpt_DB112
    oracle    5699     1  0 18:13 ?        00:00:00 ora_smon_DB112
    oracle    5701     1  0 18:13 ?        00:00:00 ora_reco_DB112
    oracle    5703     1  0 18:13 ?        00:00:00 ora_mmon_DB112
    oracle    5705     1  0 18:13 ?        00:00:00 ora_mmnl_DB112
    oracle    5707     1  0 18:13 ?        00:00:00 ora_d000_DB112
    oracle    5709     1  0 18:13 ?        00:00:00 ora_s000_DB112
    oracle    5745     1  0 18:13 ?        00:00:00 ora_arc0_DB112
    oracle    5747     1  0 18:13 ?        00:00:00 ora_arc1_DB112
    oracle    5749     1  0 18:13 ?        00:00:00 ora_arc2_DB112
    oracle    5751     1  0 18:13 ?        00:00:00 ora_arc3_DB112
    oracle    5753     1  0 18:13 ?        00:00:00 ora_qmnc_DB112
    oracle    5769     1  1 18:13 ?        00:00:00 ora_cjq0_DB112
    oracle    5773     1  0 18:13 ?        00:00:00 ora_q000_DB112
    oracle    5775     1  0 18:13 ?        00:00:00 ora_q001_DB112
    oracle    5777     1  1 18:13 ?        00:00:00 ora_vkrm_DB112
    oracle    5785     1 46 18:13 ?        00:00:24 ora_j003_DB112
    oracle    5797  5796  2 18:14 ?        00:00:00 oracleDB112 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
    oracle    5832  5801  0 18:14 pts/2    00:00:00 grep DB112
    $ ps -fp 5796
    UID        PID  PPID  C STIME TTY          TIME CMD
    oracle    5796  5584  0 18:14 pts/1    00:00:00 sqlplusThis is also documented in 11.2 Net Admin. Guide http://download.oracle.com/docs/cd/E11882_01/network.112/e10836/concepts.htm#CIAFHAEE
    >
    If the client and database exist on the same computer, then a client connection can be passed directly to a dedicated server process without going through the listener. This is known as a bequeath protocol. The application initiating the session spawns a dedicated server process for the connection request. This happens automatically if the application used to start the database is on the same computer as the database.
    >
    Edited by: P. Forstmann on 5 sept. 2010 18:23

  • Error 11 with TCP Listen.vi and named service

    I am using TCP Listen.vi with a named service so my Real-Time application can act as a TCP server without the clients needing to know the specific port.  I am using LabVIEW 8.5.
    I am getting Error 11 from TCP Listen.vi if no client has connected within a certain amount of time.  I have traced the problem down to the TCP Listen Internal List.vi inside Internecine Avoider.vi in TCP Listen.vi.  I think I have found a bug in this vi.
    What is happening is that the Search function of TCP Listen Internal List.vi is not finding the named service, so new listeners continue to be created until there are too many open.  See the attached picture.  I think the circled function should be "not equal" instead of "equal".
    Has anyone run across this problem before?
    Thanks,
    Cherie
    Attachments:
    TCP Listen.PNG ‏39 KB

    Cherie,
    Let us assume that al listener for your port number and name is not yet created and you have put the TCP Listen in a loop.
    1st Iteration:
    Searching the internal list will not find a name or port and hence it will create a connection and if successful will insert the port number and name to  Internal List.
    2nd Iteration onwards:
    It will find the previous connection, provided you are still passing the  same port number. If in the second iteration the port number changes, then what you say may happen
    Will it be possible for you to post the TCP VI you have in RT?
    That said...I don't get why that compare with zero is required? If port number was 0 in the first iteration then anyway after creating the listener, the new port number will be updated to the list along with the service name, isn't it?
    Message Edited by kikiduu on 09-06-2008 08:50 AM
    "A VI inside a Class is worth hundreds in the bush"
    യവന്‍ പുലിയാണു കേട്ടാ!!!

  • Skype for Linux Listens on TCP and UDP 5744

    Hello all, I'm guessing that there's a simple answer to my inquiry that I overlooked in my web searches. I'm running the current version of Skype for Linux (which, as of this writing, is 4.3.0.37). While looking at my computer's running processes, I noticed Skype listens on ports TCP/5744 and UDP/5744 while logged in, allowing it to be a server for some sort of inbound connection. I cannot find any documentation or IANA port registration for Skype, so I posted in the community forum. Does any one know why Skype listens on those ports; and would I have an improved user experience if I permitted my firewall to allow inbound connections on those ports? Thanks!

    I've observed this: When I first logged in, I received an inbound connection on the TCP port from a Skype server (determined by Reverse DNS) that was repeated on regular intervals. On the UDP port, I saw what appears to be 'heartbeats' sent out from my Skype client to IPs residing on rather 'prestigious' networks around the World (no more than 50), with those hosts responding in turn. Now, both TCP and UDP connections have continuous activity, so much so, I recorded at least 4GBs of data being transferred in the course of eight ( hours. That equates to 2GB in both directions, bring the total to (at minimum) approximately 568 kb/s connection (factoring in other observations, giving approximations and not providing specifics). I want to note, this additional traffic is appears to be experienced by any client without a firewalled connection to the Internet. I'm now trying to understand how this additional traffic assists in the functioning of the Skype client. Thanks, all!

  • Error 63 and 60 from TCP Listen.vi

    Hi All,
    I got error 63 from TCP listen.vi and error 60  from retry.
    Any idea of that?
    Thanks a lot for any help.
    Anne

    The consequent error 60 is quite likely caused by the fact that Winsock does not close a socket immediately in order to handle lingering packets that might still be arriving for that socket. So your Listen tries to open a socket, but somehow gets refused that socket, but it has been allocated anyhow in the Winsock library and eventhough LabVIEW closes the socket (you do executed a TCP Close node even on error on the listen refnum do you?? ) Winsock needs some time to really deallocate that socket, and when you immediately retry the port is still in use.
    Make sure to always close all refnums, also the listener refnum, even in error case and if that does not help add some delay before retrying to open the Listener again.
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • How to access OS environment and TCP/IP environment

    I'm trying to find a way to access the operating systems commands (I've already figured out how to determine which Windows or which Unix or which Linux I'm in) and TCP/IP commands. In REXX, for example, it's ADDRESS CMD but I don't even have a clue as to what the class would be in Java. Can somebody help, please?
    The two kinds of things I'd like to be able to do is issue commands written in whatever language for the environment where the Java program is executing and have the output from these commands come back as a string or series of strings which can then be parsed by the parser we've written for each of the environments we need to deal with (since the same command sometimes results in a different return, depending on the environment where it's running).
    For the TCP/IP commands, I'd like to be able to do something like
    tcp_ipCommands("ping","www.sun.com");
    or
    tcp_ipCommands("ping www.sun.com");
    depending on how I write it, of course.
    Thanks for any light anybody can shed on how to do this.
    virginia

    Have a Pinger. I can't remember where I stole it from and its from an older API with some deprecated methods. I recall making some 'cosmetic' changes to it at the time and I tested it, so it does work. I've also indicated 2 of the deprecations in the comments.
    import java.applet.*;
    import java.awt.*;
    import java.net.*;
    import java.lang.Thread;
    // The Pinger object measures network latency by sending a packet
    // to the UDP Echo Port (Port 7) and timing how long it takes.
    // We use this port instead of ICMP because I would have to
    // use native methods in order to produce ICMP packets.
    class Pinger implements Runnable{
       static final int echoPort = 7;
       static final int maxPingTime = 3000; // Milliseconds
       static final int pingPollInterval = 100; // Milliseconds
       DatagramSocket socket;
       InetAddress fromIP;
       long sendTime;
       long timeMeasured;
       Thread timeOutMonitor;
       Thread pingListenThread;
       byte packetNumber = 0;
    public Pinger(InetAddress pingee){
       fromIP = pingee;
    // If needed, start a listener thread to notice the reply.
    // then we send out a brief message to the echo port.
    // Since the Java thread model does not allow one thread to break
    // another one out of a wait, we sleep for brief intervals, waking
    // up periodically to see if the reply has come in yet.
    public long doPing() {
       byte[] msg = new byte[1];
       msg[0] = ++packetNumber;
       timeMeasured = -1;
          if(socket == null) try {
             socket = new DatagramSocket();
          catch (Exception e) {return(0);}
          if(pingListenThread == null) {
             pingListenThread = new Thread(this);
             pingListenThread.start();
       DatagramPacket packet = new DatagramPacket(msg,msg.length,fromIP,echoPort);
       sendTime = System.currentTimeMillis();
       long timeLimit = sendTime + maxPingTime;
          try {
             socket.send(packet);
                while (System.currentTimeMillis() < timeLimit) {
                   Thread.sleep(pingPollInterval);
                      if(timeMeasured != -1) // reply has been noticed, so return result.
                return(timeMeasured);
          catch (Exception e) {};
          return(timeMeasured); // return what is probably -1.
    // Run method for the listener thread
    public void run() {
    byte[] repBuf = new byte[1];
    DatagramPacket reply = new DatagramPacket(repBuf,repBuf.length);
       try {
          while (true) {
          socket.receive(reply);
             if(repBuf[0] == packetNumber) {
                 timeMeasured = System.currentTimeMillis() - sendTime;
                 pingListenThread = null;
                 return;
       catch (Exception e) {
          pingListenThread = null; return;
    // Clean up any dangling listener thread and release the socket.
    public void stop() {
        if(pingListenThread != null) {
            pingListenThread.stop();
            pingListenThread = null;
        socket.close();
        socket = null;
    public class PingDisplay extends Applet {
       Pinger ping;
       TextField timeDisplay;
       String fromHost;
       Button refreshButton;
    public void init(){
       try {
          fromHost = this.getCodeBase().getHost();
          // Alternative for testing on unrestricted browsers.
          // fromHost = "www.3dcom.com";
          ping = new Pinger(InetAddress.getByName(fromHost));
          timeDisplay = new TextField("Waiting");
          timeDisplay.setEditable(false);
          this.setLayout(new BorderLayout());
          this.add("Center",timeDisplay);
          refreshButton = new Button("Ping");
          refreshButton.resize(40,20);
          this.add("East",refreshButton);
       catch (Exception e) {}
    public void start(){
       super.start();
       displayPing();
    public void stop(){
       super.stop();
       ping.stop(); // Thread.stop() is depricated but it still works
    void displayPing() {
       timeDisplay.setText("Pinging: " + fromHost); // let user know test underway
       long echoTime = ping.doPing(); // conduct actual test
          if(echoTime == -1) // check timeout status
             timeDisplay.setText(fromHost + " timed out.");
          else // display time in button
             timeDisplay.setText("Latency to " + fromHost + ": " + Long.toString(echoTime) + " ms.");
    // When "Ping" button pressed, rerun and redisplay.
    // Method also depricated here
    public boolean action(Event e, Object what) {
       if((e.target == refreshButton) && (e.id == Event.ACTION_EVENT)) {
          displayPing();
          return (true);
       return(false);
    }

  • 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.

  • TCP Listener returned error on accept = AFP blows up. Need help

    Environment: 10.6.7 Server. Xserver. All Mac clients. It's a school. Problem: AFP refusing connections or not loading the Home Directory Symptoms: Library/Logs/AppleFileService/AppleFileServiceError.log blown out with "TCP Listener returned error on accept" happening every second.
    I cannot figure this out. The server has not been updated recently. -checkhostname returns no error. There have been some new iMacs (10.6.8) connected recently. I have read this might be MaxThreads; or corrupt .DS files, but I am really struggling. Please - any clues at all? I can't keep rebooting every day. Any ideas at all please.

    hi pkmusic, we are having the same problem. do you have phone over IP? we are using 5 servers (10.6.7 and 10.6.8) for user home directories. network goes through Siemens IP-Phones. Each server has max. 40 - 50 users but the error occures even if there are only 15 - 20 users connected. have to check the MaxThread-Settings next week ...

  • Tcp listen accepts multiple simultaneo​us connection​s even when closed

    LV 6.0.2, win 2k
    I am trying to set up a server that will recieve data from multiple clients. If I set up a TCP listen vi on the server, then I have found that any (or the same) client can open multiple connections on this port and send data to it even though the server has only called the TCP listen VI once and only has a reference for the first connection. The subsequent connections seem to be accumlating in the port buffer and the data can in fact be retrieved with subsequent calls to TCP listen on that port regardless of whether the client has closed the connection long ago and forgotten about the transaction.
    This could perhaps be considered either a feature or a bug. For me it is undesirabl
    e. I would prefer that attempted connections to the server were rejected if the server is not actually actively listening on the port. Otherwise clients can easily flood the port.
    Is there some way to control this behaviour, or perhaps a completely different approach? or is there some way to control the port settings such as buffer size or max number of connections allowed, and a way to clear the buffer without processing all the connections?
    Thanks in advance for any thoughts.

    Thanks for the comments.
    I don't seem to get the same behaviour you describe.
    When you say 'if the server closes the connection after reading the first request, then it will not process the rest of the requests waiting in the queue'. I find that after the server closes the connection (with TCP close connection) then there can still be a huge backlog of connections to the same port (requests) which are still waiting to be processed. Another call to TCP listen retrieves one of the old ones, it doesn't wait around for a legitimately new request from a client.
    Where you say 'When you leave the connection open on the server side, you can receive multiple commands this way, but it also blocks other clients from connecting until the curre
    nt client disconnects'. This is in fact my main difficulty. Even with a connection held open other clients (or the same client) CAN make other connections and send data through that connection. This then backs up if the server is not processing them faster than recieving them.
    I've attached vi's which should demonstrate the issue.
    I couldn't check your vi's. I'm missing the EOC error.vi and one other I think. Ultimately I hope to do something similar with multiple open connections, but still need the server to be able to refuse connections if it wants to. Something I don't seem to be able to do. The connections just keep coming regardless of how the server is set up.
    Thanks again.
    Steve
    Attachments:
    server.vi ‏229 KB
    client.vi ‏28 KB

  • TCP listener?

    Hello,
    Is it possible to create TCP listener instead of HTTP or IIOP one in J2EE? My client application sends only TCP messages and as it is external system I can not change it. How to deal with it in elegant way within J2EE?
    Thank you,
    Ps. I am newbie in J2EE and currently designing new application.

    Just put a multiplexing proxy between the two,
    wrapping your legacy request in an http request
    and feeding back the html response.

  • ODBC with TCPS listener

    Hi, I am using an Oracle 9i server with a TCPS (SSL-encrypted TCP/IP) listener. I can't seem to get ODBC clients working with this listener.
    I can successfully use this TCPS listener with all of the regular Oracle clients (SQLplus, Enterprise Mgr, etc.)
    I can successfully use ODBC with the TCP (non-encrypted) listener.
    When I try to connect with ODBC over TCPS (e.g. to import data into Excel), the connection freezes. Has anybody else ever successfully used the encrypted listener in this way?
    Here are my particulars:
    Database server: 9.2.0.4 on Linux
    Database client: 9.2.0.4 (both Oracle Client and ODBC driver) on Windows XP
    Any help appreciated!!
    --Andy Stevens
    New York, NY

    yes the TCPS listener is part of Oracle Advanced Security.
    --andy                                                                                                                                                                                           

Maybe you are looking for

  • Error message, file cannot be found

    After downloading a purchased song, it shows in my library with an exclamation mark , when I click on it is says file can not be found and then offers to locate it for me.  What do I do?

  • Automatic space after numbered list items

    Is it possible to have pages automatically add a space after the number and dot with numbered lists? For example, have it automatically add the text "II. " as opposed to "II.". It would save me having to keep typing the space. Thanks

  • Never opened iPad with dead pixels

    I got a iPad 3 the day it came out from best buy. I wasn't unboxed for about a month after being purchased and when I turned it on, there were more than 3 dead pixels. Also one of the led backlights are blue when they should be white.  Is this a manu

  • Action Help PLEASE

    Trying to run an action that I had purchased from a scrap site. It is a rose. Everything works fine until I get to the part where it creates a stem for the rose. It says The command smooth is not currently available, and the same thing for feather. C

  • DB02 blank after applying SP13

    Hi, After going for SP 13 (ABAP & Basis) on NW04s, we are not able to view any data in DB02. DB13 is working fine as part of the DBA Cockpit. Pls. help. Thanks, Saba.