Socekt, why socket-connect is broken?

Hi,Dear,
I write a ServerSocket and a client Socket, after client connected to Server,
i find after 7 to 10 seconds, Server check that connect is broken, and client
write data on DataOutputStaream , program throws Exception:
Software caused connect broken, write socket error...
why?
I not set timeout on any side, i use setSoTimeout() ,it seems no usable,i not
close yhe connect also,why ?
any advice is welcom!
thank you !

You can get it done at:
http://www.thesoftwareobjects.com

Similar Messages

  • Help with an exception when trying to establish a socket connection

    i am trying to make a chat (using an applet for the client).......
    it uses an simple socket connection between the server and clients.....when i connect the client to address 127.0.0.1 or localhost everything works fine, but when i try to connect the client to my DNS name or ip, i get an exception....the exception reads:
    java.security.AccessControlException: access denied (java.net.SocketPermission nextwave.dyndns.org resolve)
    at java.security.AccessControlContext.checkPermission(AccessControlContext.java:270)
    at java.security.AccessController.checkPermission(AccessController.java:401)
    at java.lang.SecurityManager.checkPermission(SecurityManager.java:542)
    at java.lang.SecurityManager.checkConnect(SecurityManager.java:1042)
    at java.net.InetAddress.getAllByName0(InetAddress.java:937)
    at java.net.InetAddress.getAllByName0(InetAddress.java:918)
    at java.net.InetAddress.getAllByName(InetAddress.java:912)
    at java.net.InetAddress.getByName(InetAddress.java:832)
    at java.net.InetSocketAddress.<init>(InetSocketAddress.java:109)
    at java.net.Socket.<init>(Socket.java:119)
    at Client.<init>(Client.java:42)
    at ClientApplet.init(ClientApplet.java:12)
    at sun.applet.AppletPanel.run(AppletPanel.java:347)
    at java.lang.Thread.run(Thread.java:536)
    what is this all about??????
    i'm not that fluent in java, or networking at that, but i'm sure there is something i can do to fix this......
    any help would be greatley appreciated.

    this is why i am not heart-broken that i will be going the other (executable jar) route.......the major deciding factor is the people who will be using this chat will most likley not be able to edit the policy file due to lack of knowledge, and probably won't want to take the time to try.....they would rather download a program, and double-click execute........
    i thank you for taking the time to help me......i have been reading through the posts in this forum, and am seeing it is a good place to get help, so i will be sticking around.....
    mahalo and happy java

  • How can i reuse my existing socket connection

    Hi,
    this might sound basic, it probably is:
    As part of my larger project, i have to send and recieve data to multiple socket connections.
    The thing that happens is that everytime i send data, it seems that java is creating a new stream or something (code is multithreaded)
    so as i send 4 items of data, a bit like a chat program sending 4 statements, it creates 4 different streams, instead of using the same stream. therefore when i close the connection, i get:
    java.net.SocketException: Connection reset 4 times.
    i know why.. its because i have added the:
    Socket socket=new Socket(host, port);
    BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
    PrintWriter out = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()));
    bit in the same method with the
    out.println(THE DATA....);
    out.flush();
    The thing what i want to do is to create the connection one, and reuse the objects:
    out, in and socket
    to send / recieve the new data.
    please help me guys,
    thanks

    All the threads would be able to get the same reference to....
    class SocketWrapper {
         private final Object readLock = new Object();
         private final Object writeLock = new Object();
         // client side
        public SocketWrapper(String hostname, int port);
         // server side.
        public SocketWrapper(Socket);
         // send data
         public void send(Serializable object) throws IOException;
         // receive data. synchronized(writeLock);
         public Serializable getNext() throws IOException;
         // create a new socket as required, throw IllegalState if server side. synchronized(readLock)
         private void createNewSocket() throws IllegalStateException;
    }The send autoconnects as required. It then send on message/packet/object.
    The getNext autoconnects as required. It reads one message/packet/object and returns.
    This allows multiple threads to access the same socket. It allows data to be sent while a thread is blocking on a read. (Thus two locks)

  • Applet socket connection

    Hi,
    I have an applet that connects to a server java console program through a socket connection which works fine from the command line using appletviewer but doesn't work when running in a html page. The applet is not signed however because the applet and server are running on the same machine it shouldn't need to be. I have used socket connections in applets before and have managed to make the connection to server without having it signed but this one is not working for some reason. I have checked the port is opened and again its the same one I have used before so I know its open.
    I am getting the message java.security.AccessControlException: access denied (java.net.SocketPermission 127.0.0.1:5000 connect,resolve) when calling:
      Socket s = new Socket(ip,port);I also have a java.policy.applet file in the project root directory which has the following in:
    grant {
      permission java.security.AllPermission;
    };Does anyone know a reason why access could be restricted?

    Night.Monkey wrote:
    Hi,
    I have an applet that connects to a server java console program through a socket connection which works fine from the command line using appletviewer but doesn't work when running in a html page. The applet is not signed however because the applet and server are running on the same machine it shouldn't need to be.Wrong. An unsigned applet can only connect back to the server from where it was downloaded. Your applet comes from www.javawebgames.co.uk and tries to connect to 127.0.0.1.
    Would your server be at www.javawebgames.co.uk there should be no problem.
    I also have a java.policy.applet file in the project root directory which has the following in:
    grant {
    permission java.security.AllPermission;
    };I think this should have zero effect when you are running in the actual browser.

  • Urgent --- Persistent socket connection?

    Hi, I have a question about the persistency of a Java Socket connection. Is it a valid idea to keep a java socket open for a long time? If so, what special care do I need to take?
    My Java TCP/IP client runs as a NT service. It keeps getting input messages every few seconds, then send it thru a socket connection to a TCP/IP server. In order to avoid the overhead of opening and closing the socket every time the client gets a message to send, I want to keep the socket connection open and reuse it.
    I was able to send hundreds of messages thru this way, then after a while, for no apparent reason,
    the socket stops working, I typically get an exception like this:
    java.net.SocketException: Connection Shutdown: JVM_recv in socket input stream read
    at java.net.SocketInputStream.socketRead(Native Method)
    at java.net.SocketInputStream.read (SocketInputStream.java:90)
    at java.net.SocketInputStream.read (SocketInputStream.java:71)
    at java.io.InputStreamReader.fill (InputStreamReader.java:163)
    at java.io.InputStreamReader.read (InputStreamReader.java:239)
    at java.io.BufferedReader.fill (BufferedReader.java:137)
    at java.io.BufferedReader.readLine (BufferedReader.java, Compiled Code)
    at java.io.BufferedReader.readLine (BufferedReader.java:329)
    My programs runs on NT4.0, single-threaded. Any input would be greatly appreciated.

    Is it a valid idea to keep a java socket open for a long time? If so, what
    special care do I need to take?Depends.
    First why keep it open? Your messages only arrive every couple of seconds, does opening/closing the connection take longer than that?
    If you must then the complication you must deal with is that your code must deal with re-establishing the connection when it does fail. Opening/closing it every time avoids that issue. The connection will fail, because computers fail, networks fail and people make mistakes. Which doesn't mean that you shouldn't but merely that you should consider the implications of why you need to keep it open.

  • Socket connection between Java and C

    I want to establish socket connection between Java client and C server (on Unix). Can anybody tell how to do it? Will the socket created in client be available in server. I tried out but there was no response from the server.

    We too can't connect the daemon server written by "c". The phenomena is below.
    << Execution of this Question1.class >> ---------------------------------------
    [kazuyuki@CryptOne tmp]$ java Question1 E 1.2.3.4 MFrame.java 195.211.1.1 15021
    << Output message >> ----------------------------------------------------------
    Quetion1 : flg_ = E
    Quetion1 : key_ = 1.2.3.4
    Quetion1 : fn_ = MFrame.java
    Quetion1 : adr_ = CryptOne.localhost/195.211.1.1
    Quetion1 : port_ = 15021
    java.net.ConnectException: Connection refused
         at java.net.PlainSocketImpl.socketConnect(Native Method)
         at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:350)
         at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:137)
         at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:124)
         at java.net.Socket.<init>(Socket.java:268)
         at java.net.Socket.<init>(Socket.java:122)
         at Question1.UPLOAD(Question1.java:65)
         at Question1.main(Question1.java:155)
    << Question >> ----------------------------------------------------------------
    Why the event "java.net.ConnectException: Connection refused" has occured ?
    The server to connect from Question1 can accept the connection request from
    the client program coded by "c" program. We have written down the daemon server
    program by "c" code tcp/ip socket functions (socket, bind, listen, accept).
    Security manager admits the access from this Question1.class, we have checked.
    Would you like please answer this Connction refuse occurrence ?
                                                                     2002.05.18 11:50:00.0(JST)
                                                                     K.Masuda
    << Java client code>> -------------------------------------------------
         (c)Copyright     All rights reserved.
              K.Masuda     2002.05.18
                   << Question1.java >>
    import     java.lang.String;
    import     java.io.InputStream;
    import     java.io.OutputStream;
    import     java.io.DataInputStream;
    import     java.io.DataOutputStream;
    import     java.io.FileInputStream;
    import     java.io.FileOutputStream;
    import     java.io.IOException;
    import     java.io.FileNotFoundException;
    import     java.net.Socket;
    import     java.net.InetAddress;
    import     java.net.UnknownHostException;
    import     java.net.ConnectException;
    import     java.net.NoRouteToHostException;
    class Question1 {
         char               flg_;
         String               key_;
         String               fn_;
         InetAddress          adr_;
         int                    port_;
         Socket               sock_;
         Question1(
              char          flg,
              String          key,
              String          fn,
              String          adr,
              int               port
              flg_     = flg;     
              key_     = key;
              fn_          = fn;
              try{
                   adr_     = InetAddress.getByName( adr );
              catch( UnknownHostException e ){
                   e.printStackTrace();
              port_     = port;
    System.out.println( "Quetion1 : flg_ = " + flg_ );
    System.out.println( "Quetion1 : key_ = " + key_ );
    System.out.println( "Quetion1 : fn_ = " + fn_ );
    System.out.println( "Quetion1 : adr_ = " + adr_ );
    System.out.println( "Quetion1 : port_ = " + port_ );
         public void UPLOAD(
              try{
                   sock_     = new Socket( adr_, port_ );
                   UpLoad();
                   DnLoad();
                   sock_.close();
              catch( UnknownHostException e ){
                   e.printStackTrace();
              catch( ConnectException e ){
                   e.printStackTrace();
              catch( NoRouteToHostException e ){
                   e.printStackTrace();
              catch( IOException e ){
                   e.printStackTrace();
         public void UpLoad(
              byte[]                         buf          = new byte[ 512 ];
              int                              rlen;
              int                              wlen;
              try {
                   OutputStream          sos          = sock_.getOutputStream();
                   FileInputStream          fis          = new FileInputStream( fn_ );
                   DataInputStream          dis          = new DataInputStream( fis );
                   DataOutputStream     dos          = new DataOutputStream( sos );
                   while( ( rlen =     dis.read( buf, 0, buf.length ) ) >= 0 ){
                        dos.write( buf, 0, rlen );
                   dis.close();
                   dos.close();
                   fis.close();
                   sos.close();
              catch( IOException e ){
                   e.printStackTrace();
         public void DnLoad(
              byte[]                         buf          = new byte[ 512 ];
              int                              rlen;
              int                              wlen;
              try {
                   InputStream               sis          = sock_.getInputStream();
                   FileOutputStream     fos          = new FileOutputStream( fn_ + ".cry" );
                   DataInputStream          dis          = new DataInputStream( sis );
                   DataOutputStream     dos          = new DataOutputStream( fos );
                   while( ( rlen =     dis.read( buf, 0, buf.length ) ) >= 0 ){
                        dos.write( buf, 0, rlen );
                   dis.close();
                   dos.close();
                   fos.close();
                   sis.close();
              catch( IOException e ){
                   e.printStackTrace();
         public static void main(
              String[] args
              char[]     chrs     = ( new String( args[ 0 ] ) ).toCharArray();
              Question1     clnt     = new Question1(
                                                                     // E or D
                                            chrs[ 0 ],
                                            args[ 1 ],               // key string
                                            args[ 2 ],               // file to be processed
                                            args[ 3 ],               // IP address
                                                                     // port
                                            Integer.parseInt( args[ 4 ] )
              clnt.UPLOAD();
    }

  • Persistent socket connection - socket write error

    I'm connecting to a server using sockets. My application acts like a client, sending requests, and also like a server, listenning for notifications. I was using a client socket for the first task (send a message when required) and a server socket for the second (permanently listen for incoming messages). This needs to be some kind of persistent connection.
    It happens now I'm required to send and receive using the same port. The only way I found to do this is to have a single socket (client) bound to a certain port. It connects to the server and one thread keeps listenning for incoming messages (by reading the input stream) while another process is launched whenever I need to send a message (by writing to the socket's output stream). The socket is created only once (when the application starts) and its output/input streams reused whenever needed.
    This works well for a while. However, when I try to send a message after some idle time (lets say 20 minutes) strange things happen. The first attempt to send a message returns success (although nothing is actually received by the server). The second attempt returns java.net.SocketException: Software caused connection abort: socket write error. I don't understand this behaviour. Can there be a timeout? I only write to the socket after testing if it's connected.. So why is this failing? Also, any other ideas on how to send and receive using the same port? A different and better approach maybe..
    Thanks in advance

    Socket.isConnected just tells you whether you have personally called Socket.connect() or new Socket(host, port,...). It doesn't tell you anything about the state of the connection.
    You should certainly issue periodic application 'pings' at suitable intervals, and many application protocols do this. For example, Java RMI reuses connections that are less than 15 seconds old but only if they pass a ping test.
    In general however you can't insist on a persistent connection over TCP/IP, especially if you have this kind of hardware in the circuit. What you can do is recognize when the connection has been lost and form a new one. The network is going to fail somewhere some time and your program has to be robust against that.

  • Excessive cxs socket connections created for ejb access

    We are seeing a large number of TCP connections being created to the cxs engine for ejb access in our application.
    We are running iPlanet application server 6.0, sp3 on Solaris 8. We have a web application that accesses a singleton component running in a kjs engine. That singleton accesses cmp entity beans and stateless session beans for serving client requests over the RMI/IIOP bridge. When three clients are connected and making requests, the number of TCP connections to the IIOP port (9010) starts to increase until everything freezes. I believe the "freezing" of the client apps is due to the open socket limit of 1024 being exceeded. According to the developer doc we can increase rlim_fd_max to 8192 to fix that problem.
    However, my question is why are there an increasing number of socket connections? We are caching the ejb instances in the singleton so we should not be creating a large pool of EJBs. I have verfied the large number of sockets using netstat and also using RMI runtime logging in the kjs engine.
    Does anyone have any ideas what could be happening here?
    Thanks,
    Mark

    I noticed that most of the TCP connections are made to port 32787. Can anyone from iPlanet tell me what is listening on this port? The large number of socket connections is really tying up server resources.
    Thanks,
    Mark

  • JPanel doesn't get visible when followed by socket connection

    Hi all... I'm having a problem with a java Swing application...
    when a actionEven is given, I want to create a new socket to connect to a server, and I'd like to show a panel with a "connecting... " message while it's done.
    My problem is that writing the code secuentially, it does not work in the correct order
    public void actionPerformed(ActionEvent e) {
                     - JPanel.setVisible(true);
                     - JPanel.repaint();
                     - socket connection code here
    }this, makes the socket connection and displays the panel once it's done. Why this behaviour?
    I have also tried to not to change the visible property in the event handler, but creating a new Thread when it's triggered, and giving it maximum priority... but this doesn't work neither.
    Thank you

    thank you camickr,
    I tried the opposite of what I did at first... creating a new thread with minimum priority and doing the socket connection in it, and it worked.

  • Creating socket connection error

    My problem is when I have router in local host, my client works fine, but when I move router to an other computer, then creating topic connection gives me error like: error creating socket connection to 127.0.0.1:14001, message: Connection refused: no further information
    (I use port 14001, in local host it works). Why does it dry to connect to localhost? If I put up router in localhost too, it starts sending messages to this one!?
    Anyway maybe this problem might have something to do with changeing the router version (swiftmq1.0 to 2.1.2)?
    Could anyone help me with this one, I'm in big hurry, router and client should work on monday :-(
    Thank You!

    Thanx 4 answer :) neville
    I have the answer allready - just I had to add 1 row in routers properties file, like:
    swiftlet.sys$jms.listeners.plainsocket.bindaddress=192.168.0.1
    It was in the SwiftMQ documentation, but I was to lazy to read all of it. My fault.
    But thanks again for trying to help! And I WILL read that jndi doc.

  • Secure connection suddenly broken in SGD 4.6 on CentOS?

    hello all,
    since yesterday, it is broken, when the first is displayed, and i choos "Login", the sgd displays:
    Error Page
    The following exception was thrown
    and nothing else
    looking at the server, i noticve this strange error:
    [root@nemo certs]# /opt/tarantella/bin/tarantella security certinfo --certfile ./cert-4607-my-site.fr.pem
    The certificate file doesn't exist.
    but i verified my files with openssl commands, and they are ok!
    i also noticed this kind of messages that happens often:
    Jan 24 22:05:07 nemo kernel: ttaxpe[19381]: segfault at 0000000000000008 rip 00000000080c2d4c rsp 00000000fff54400 error 4
    and in /opt/tarantella/var/log/error.log:
    2011/01/28 21:02:20.875 ssl10864 ssldaemon/socket/forwarderrorOracle Secure Global Desktop (4.6) ERROR:
    The Secure Global Desktop Security Daemon failed to create a socket connecting to the Secure Global Desktop server on port 443 on behalf of client 127.0.0.1:443.
    connect(11,127.0.0.1:443): (111) Connection refused ssldaemon/socket/forwarderror
    what can i do? Anybody can help or suggests something?
    thanks in advance
    gerard

    anybody here? Anybody has ever encountered this problem?
    i can reproduce it with an app server under solaris 10.
    I tried to restart all the processes without success.
    The only so-called workaround is to re-install everything :(
    gerard

  • Nokia 2730 does not allow to use socket connection

    I recently bought a Nokia 2730 Classic, but I am not able to browse internet on this phone through the Socket connection, like how the other Nokia 2330 Classic can do.
    For the Nokia 2330 Classic, I need just put the SIM into it and start the phone, then go to the configuration and just select Internet APN as the Access Point and the phone will work fine with Opera Mini and other Java applications like Ebuddy, Bolt Browser etc through “socket” connection”, without the need to request the internet settings from my operator through SMS.
    But in the Nokia 2730 Classic when I put the same SIM into this phone and Select the same Internet APN as the Access point, I am not able to browse the internet on Opera Mini and I have to send SMS to my operator to get the settings.
    The main problem here is that even after saving the internet Settings of my operator on the Nokia 2730 Classic, the internet does not work on in the Socket Connection, hence Opera Mini 4.2 and 5.1 (and other java applications which need the socket connection) will not install or work. (although the internet will work on the default browser of the phone)
    I am also able to connect the Nokia 2730 Classic to the computer and browse the internet through Data Cable / Bluetooth normally.
    I tried with another operator using an internet data plan, but got the same results.
    Can someone please tell me how to adjust the settings correctly so that the Nokia 2730 will work on the Socket connection so that I can browse on Opera Mini 5.1 and 4.2 and other Java browsers and applications which work only on the Socket connection?
    Another strange issue is that after trying to use the internet on the Nokia 2730 (without any positive results), when I put the same SIM back into the Nokia 2330, the internet does not work for some hours on the socket connection and I have to use the http connection till then. Quite strange.
    Any help will be greatly appreciated.

    My problem is sounds to be somehow related to this. Actually, I do not have reference if the problem was already on SW version 9.41 (?), but at least after the firmware upgrade (v 10.40) I get the following message "Suojattu yhteys ei käytettävissä" ~ in English "Secure connection not available" when trying to open https links e.g. directly from text message.
    Obviously, the same problem happens with I try to download an application from Ovi. I am able to browse the applications in the service, but once trying to download/install the problem occurs.
    Opera is capable to open the https connection, but OVI does not support it => there is no way to install any application from Ovi. I have tried both Elisa and Saunalahti SIMs, but it seems not to be a settings releated.
    One note still in the firmware upgade: when doing it it first time, there was an error when restoring the backup. I made the firmware upgrade couple of times again and even so that I did not restore the backup.
    Could it be that the first time firmware upgrade somehow bricked the phone? I have also been wondering, why there is no settings menu available in Web section?
    Any ideas?
    BR,
    Mika
    /* Mika */

  • Can't connect RFCOMM socket: Connection refused

    I am trying to use my mobile as bluetooth modem but I am stuck at the initial step.
    shadyabhi@archlinux-N210 ~ $ rfcomm connect 0
    Can't connect RFCOMM socket: Connection refused
    My rfcomm.conf:
    rfcomm0 {
    # # Automatically bind the device at startup
    bind yes;
    # # Bluetooth address of the device
    device 00:25:47:9F:AA:07;
    # # RFCOMM channel for the connection
    channel 2;
    # # Description of the connection
    comment "Nokia N73";
    Guyz, please help me solve the issue. I have tried googling but no luck. And I already have my laptop as trusted devices in my phone.

    i don't know how and why but appeared a new device on my phone called "james1711" and with this my pin is accepted when i type rfcomm connect 0; but after one minute of trying to connect appear another error in the shell:
    Can't connect RFCOMM socket: Resource temporarily unavailable

  • Decompile applet and proxify all URL and socket connection and recompile

    Hi,
    Please anybody have idea for the below.
    I need to decomple the applet class file to .java file and need to change all URL and Socket connection to proxify all connections from applet. and recompile the sample applet to make ready to load in browser.
    Thi is to load the applet form the web server through one proxy server. In the proxy server side While loading the applet from web server that applet code need to be changed to modify the URL and connections used in that applet to change the further connection from applet through proxyserver.
    Compile and decompile is not a problem that i can use javac and javap respectively.
    But I want to know how to change all URL and connection in applet. is there any easy way to handle this with out changing the applet code.
    can Anybody help me.
    Thanks and Regards,
    Shiban.

    Not sure how you do that:
    Client <----[HTTPS]-----> Secure Gateway <------[HTTP]------->Web servers
    or
    Internet Explorer/Mozilla <----[HTTPS]-----> proxy <------[HTTP]-------> Google
    Is the above correct?
    If so than what are the proxy settings in IE/Moz, I can specify the proxy address in the
    browsers but not the proxy type (SSL).
    When you want to visit a page like google I gues you just type http://www.google.com in
    the browsers address bar. The browser will figure out how to connect to the proxy.
    Java has got the control panel in the general tabl there is a button "network settings...:"
    I have it to "use browser settings" and this works for me.
    All URL and URLConnections work but the sockets don't (maybe put in a bug report)
    for example games.yahoo.com -> card games -> bridge -> create table
    In the trace I can see:
    network: Connecting http://yog70.games.scd.yahoo.com/yog/y/b/us-t1.ldict with proxy=HTTP @ myproxy/00.00.00.00:80
    network: Connecting socket://yog70.games.scd.yahoo.com:11999 with proxy=DIRECT
    The second one fails because port 11999 is not open (what idiot uses an unassigned
    port for a profesional site is beyond me).
    http://www.iana.org/assignments/port-numbers
    #               11968-11999 Unassiged
    Even if the port was open on the proxy you'll notice with proxy=DIRECT that
    "use browser settings" does not work with socket (bug report??).
    Anyway my advice is to open the java console (windows control panel or javacpl.exe in
    the bin dir of java.home) and make sure it is set to "use browser settings"
    Then enable a full trace:
    To turn the full trace on (windows) you can start the java console, to be found here:
    C:\Program Files\Java\j2re1.4...\bin\jpicpl32.exe
    In the advanced tab you can fill in something for runtime parameters fill in this:
    -Djavaplugin.trace=true -Djavaplugin.trace.option=basic|net|security|ext|liveconnect
    if you cannot start the java console check here:
    C:\Documents and Settings\userName\Application Data\Sun\Java\Deployment\deployment.properties
    I think for linux this is somewhere in youruserdir/java (hidden directory)
    add or change the following line:
    javaplugin.jre.params=-Djavaplugin.trace\=true -Djavaplugin.trace.option\=basic|net|security|ext|liveconnect
    for 1.5:
    deployment.javapi.jre.1.5.0.args=-Djavaplugin.trace\=true -Djavaplugin.trace.option\=basic|net|security|ext|liveconnect
    The trace is here:
    C:\Documents and Settings\your user\Application Data\Sun\Java\Deployment\log\plugin...log
    I think for linux this is somewhere in youruserdir/java (hidden directory)
    Print out the full trace of the exception:
    try{...}catch(Exception e){e.printStackTrace();}
    Then visit the games.yahoo and try to create a new table playing bridge.
    Inspect the trace and see if it works/why it doesn't work.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Socket.connect

    I'm trying to write a client application that will connect to a server whenever it becomes available. There are some problems which I hope someone will be able to help, Below is a snippet of the code that makes the connection:
    while(alive){
    try{
    /* part 1*/
    Socket s = new Socket();
    s.setReuseAddress(true);
    s.bind(localAddress);
    /* end part 1*/
    s.connect(targetAddress);
    } catch (Exception e){}
    this seems to works fine. However when I place part 1 of the code outside the while loop. the connection will not be made if the server application is up after my connection thread has started running. Isnt Socket.connect suppose to block until a valid connection is made?
    Also when running my application (with the code above) over a long period of time, I get a OutOfMemoryException (native memory) when the server application is not present. Do I have to specify some other parameters for the JVM to release the native resources allocated for a socket construction or is this just a bug? I am running the application using java 1.6 on RHEL4 2.6.9-34.ELSMP.
    Thank you in advance.

    The thread is respawned when then server application
    drops thus yes the socket will only make one
    connection.Not if you move part 1 out of the loop.If you do that you will attempt multiple connections with the socket, which doesn't work.
    Shouldnt the thread block when .connect() fails?Why? Block doing what?
    Instead i'm getting a connection refused exception.What else should it do?
    No i did not close the socket when I get an exception.You should.
    Should the resources be reclaimed since
    the socket object would have gone out of scope?Eventually.
    I'm running my application on a system with multiple
    network cards thus i need to bind it to the intended
    address.Why? TCP/IP will find the best route if you don't get in its way. Why not let it?

Maybe you are looking for

  • Can I return my iPad (3rd gen) if it has been opened?

    I pre-ordered one of the new iPads and in all the excitement I got a white one because it looked "cool". Now I am having buyers remorse. I plan on using this for lots of movie and TV watching and I know the white bezel isn't great for that. So my que

  • DVD from IMac  or MacBook to ATV2

    Is it possible to play a DVD movie inserted into an IMac or MacBook on a HDTV through an ATV2?

  • BSP error while applying a Leave request in ESS

    Dear Friends, Reposting an issue which I posted earlier in ESS Forum as I didn't get solution there and the issue is more technical and moved towards Netweaver applications. While applying a leave request in ESS portal, I am getting an error page say

  • How do I Increase a table by a percentage.

    I have a table with currency values in them B2-F41 now I have another spot which has a percentage (A1). What I need is an easy way for me to have A1's value increase or decrease the numbers that are in my table fro B2-F41 without having to go to each

  • Crystal Reports Displaying records where field 1 is populated but field 2 is empty

    i have 3 fields in my report. Job id, date on hold, date off hold I need to display records where there is a value for on hold but where off hold is blank so I can see which jobs are still on hold. How do i do this? thanks in advance