Single socket, multiple streams?

Hey,
I'm currently fiddling around writing an Instant Messenger, and expecting a problem.
Basically across the same socket I'll be sending messages (user-user), other client messages and small loads of image data.
I'm thinking concidering it's a single stream all information will be queued, for instance if:
1. The server is sending, lets say a 700mb file through the one socket (wouldn't happen, but to show my point).
2. Users are trying to message the user recieving the 700mb file through the same socket/connection.
Basically the way I'm seeing it is the messages the users are trying to send to the user won't go through untill the 700mb file is done sending because it was set first.
In short: Do socket output streams queue data in a way that messages will be withheld untill other information goes through? And if so how would I avoid this?
Thanks in advance,
Danny.

Thanks for the help, I'll look into it.
When I said messages I meant in the IM sense, just to show an example of where I believe the problem would have occured.
I think multiple socket connections may be the way to go, one for general protocol data and another (when needed) for image data.
Thanks again :)

Similar Messages

  • Multiple connections on a single socket simultaneously

    Hey everybody,
    Can a single socket on a client establish connections with different ports on a server at the same time?? I am awaiting for your replies.
    Thanks,
    Mani.

    No.

  • Can I have multiple stream types in one object?

    For my final project in my data commucnications class I'm writing a client/server socket application that will allow multiple clients to play TicTacToe simultaneously against the game on the server. The teacher is a C/C++ jock, and knows very little Java. We're free to choose any language that will do sockets, and I love Java and don't love C++.
    I've built the GUI, and got it to the point that I can reliably connect multiple clients on different machines in the school lab to the Server object, which accepts the new sockets and creates a new thread of ServerGame to do the playing in response to the client's moves. A mousePressed() detects clicks in the grid, and modifies a string to contain the status of the game. I've used a BufferedReader and PrintWriter combination on both sides, to send the GameString back and forth, starting with "---------", then the client makes a move and it changes to "X--------" and the PrintWriter sends it over and the ServerGame makes a move to "X---O----" and send it back, etc, etc. You get the idea. I have a ways to go with the implementation of strategy stuff for the ServerGame's moves, but I like it so far. But now I realize it would be really cool to add to it.
    What I want to do, since there can be multiple players, is have a way that it can be like a TicTacToe club. At any one time, it would be nice to be able to know who else is playing and what their won/loss record is. I plan a Player object, with String name, int wins, losses, ties, gets and sets. With Textfields and a Sign In button I should be able to send the Player name to the Server, which can look up the name in a Vector of Player objects , find the one that matches, and sends the Player object for that name over to the Client, and also provide it to the ServerGame. Each player's won/loss record will be updated as the play continues, and the record will be "stored" in the Server's vector when he "logs off". Updates shouldn't be too hard to manage.
    So, with that as the description, here's the question -- most streams don't handle Objects. I see that ObjectInputStream and ObjectOutputStream do. So -- am I headed for trouble in using multiple stream objects in an application? I suppose I could just use the object streams and let them send out a serialized String. In other words, I want to add this to my program, but I don't want to lose too much time finding out for myself if it works one way or the other. I already have working code for the String. Without giving too much away, can anyone give me some general guidance here?

    Anyway, here's the present roadblock that's eating into the time I have left. I've spent many happy hours looking for what I'm missing here, and I'm stumped, real-time.
    I found it was no problem to just send everything over and back with ObjectInputStream and ObjectOutputStream. From the client I send a String with the state of the game, and can break it down and code for decisions in the server as to a response and send the new String back to the client. I now have a Player class with Strings name and password, ints wins, losses, ties. I have a sign-in in the client GUI and old "members" of the club are welcomed and matched with their Player object stored in a Vector, and new members are welcomed and added to the Vector. My idea is to make the Vector static so the clients can have access to the Vector through their individual threads of the Game in the server. That way I should be able to make it so that any one player can have in his client window a TextArea listing who's playing right now, with their won-loss record, and have it updated, real-time.
    The problem is that in my test-program for the concept, I can get a Player object to go back and forth, I can make changes in it and send it back and have it display properly at either end after a change. What I'm aiming at in the end is the ability to pass a copy of the Vector object from the server to the client, for updating the status of everyone else playing, and when there's a win or loss in an individual client, it should be able to tell its own server thread and through that update the Vector for all to access. Sounds OK to me, but what's happening is that the Vector that goes into the pipe at the server is not the same as the Vector that comes out the pipe into the client. I've tried all the tricks I can think of using console System.out.println()'s, and it's really weird.
    I build a dummy Vector in the constructor with 4 Players. I can send a message to the server that removes elementAt(0), and tell it to list the contents of the Vector there, and sure enough the first element is gone, and the console shows a printout of the contents of all the remaining Player objects and their members. But when I writeObject() back to the client, the whole Vector arrives at the client end. Even after I've removed all the Player elements one by one, I receive the full original Vector in the client. I put it into a local Vector cast from the readObject() method. I believe that should live only as long as the method. I even tried putting clear() at the end of the method, so there wouldn't be anything lingering the next time I call the method that gets the Vector from the server.
    What seems the biggest clue is that now I've set up another method and a button for it, that gets the elementAt(0) from the server Vector, changes the name and sends it back. Again, after the regular call to get the Vector sent over, it shows in the server console that one element has been removed. And one by one the element sent over from (0) is the one that was bumped down to fill the space from removeElementAt(). But in the client, the console shows 4 objects in the Vector, and one by one, starting at (0), the Player whose name was changed fills in right up to the top of the Vector.
    So something is persisting, and I just can't find it.
    The code is hundres of lines, so I hesitate to send it in here. I just hope this somewhat lengthy description tips off someone who might know where to look.
    Thanks a lot
    F

  • JVM_recv in socket input stream error

    I've opened a socket and I'm able to access the OutputStream. However, when I try to wrap a ObjectInputStream around the socket's InputStream, I get this error:
    SocketException: Connection reset by peer: JVM_recv in socket input stream read.
    What should I be looking for?
    Larry

    Here's the code which appears to be relevant, with some commentary on what happens when it is run. Large portions of (hopefully) irrelevant code have been snipped.
    Client:
    COMMENT: Start a server using RMI. This appears to
    COMMENT: succeed, since a message printed by this
    COMMENT: server does appear.
    try {
    DistLrnRemoteData dlrd =
    (DistLrnRemoteData)Naming.lookup(
    "//"+personHost+
    "/DistanceLearningData");
    dlrd.activatePersonServer(); // Get server going
    catch (Exception e) {
    System.err.println(e);
    COMMENT: This line is NOT printed, so apparently
    COMMENT: there is no Exception.
    System.err.println("Unable to initialize remote Person server");
    e.printStackTrace(System.err);
    Person result = new Person();
    int count = 10;
    boolean opened = false;
    Socket gpsocket = null;
    while (!opened) {
    try {
    COMMENT: The client attempts to open the socket
    COMMENT: here. The server never seems to accept it,
    COMMENT: but this call appears to succeed. There is
    COMMENT: no Exception. The server is running code
    COMMENT: from the class RemoteDataServer, so the
    COMMENT: port should be the same. The testing was
    COMMENT: done with a single host acting as both
    COMMENT: client and server, so there isn't any firewall
    COMMENT: or network outage problem.
    gpsocket = new Socket(personHost,
    RemoteDataServer.personReadPort);
    opened = true;
    catch (IOException ioe) {
    count--;
    if (count <= 0) {
    COMMENT: This line is NOT printed, so apparently there
    COMMENT: is no IOException when the Socket is
    COMMENT: created. Nor does an UnknownHostException
    COMMENT: or SecurityException stop the program.
    System.err.println(ioe);
    ioe.printStackTrace(System.err);
    result = null;
    return result;
    try {
    Thread.sleep(1000);
    catch (InterruptedException ie) {
    System.err.println(ie);
    ie.printStackTrace(System.err);
    // Read the serialized object
    try {
    COMMENT: No problem with the next line, which attempts
    COMMENT: to access the OutputStream of the socket.
    MyStringWriter msw = new MyStringWriter(
    gpsocket.getOutputStream());
    COMMENT: The next line causes the message.
    ObjectInputStream ois =
    new ObjectInputStream(gpsocket.getInputStream());
    msw.write(personRealName);
    // Now read the resulting Person.
    try {
    result = (Person)(ois.readObject());
    catch (ClassNotFoundException cnfe) {
    System.err.println(cnfe);
    cnfe.printStackTrace(System.err);
    System.exit(4);
    catch (IOException ioe) {
    System.err.println(ioe);
    ioe.printStackTrace(System.err);
    result = null;
    Server:
    public void activateFocusServer() throws java.rmi.RemoteException {
    String [] cmd = new String[2];
    cmd[0] = new String("java");
    cmd[1] = new String("RemoteDataServer");
    try {
    COMMENT: FORTE's Output window shows a message
    COMMENT: from this process
    Process dbserver =
    Runtime.getRuntime().exec(cmd); // Server will self-destruct
    // after a timeout period
    catch (IOException ioe) {
    COMMENT: This message is never printed
    System.err.println(ioe);
    ioe.printStackTrace(System.err);
    RemoteDataServer:
    public RemoteDataServer() {
    try {
    ...many different servers started here...
    ServerSocket PersonReadSocket = new ServerSocket(personReadPort);
    PersonReadListener prl = new PersonReadListener(PersonReadSocket);
    prl.start();
    catch (IOException ioe) {
    COMMENT: This message is never printed.
    System.err.println(ioe);
    ioe.printStackTrace(System.err);
    COMMENT: PersonReadListener is an inner class:
    class PersonReadListener extends java.lang.Thread {
    private Thread BaseThread;
    private ServerSocket theSocket;
    /** Creates an object to listen for PersonRead requests
    * @param ss The server socket to listen with
    public PersonReadListener(ServerSocket ss) {
    theSocket = ss;
    /** Initializes the thread to listen for PersonRead requests
    public void start() {
    BaseThread = new Thread(this);
    BaseThread.start();
    /** The code for the server to listen for PersonRead requests
    public void run() {
    while(true) {
    try {
    COMMENT: This code doesn't have access to System.err
    COMMENT: so a file is created to print debugging output
    PrintWriter debug = new PrintWriter(new FileWriter("person.debug"));
    COMMENT: The next line IS printed, so the server gets
    COMMENT: this far.
    debug.println("Waiting for connection for person's name");
    debug.close();
    PersonReadClientConnection someone =
    new PersonReadClientConnection(theSocket.accept());
    COMMENT: If the previous "debug.close" line is
    COMMENT: commented out and the next two lines are
    COMMENT: uncommented, the next line is NOT
    COMMENT: printed, so apparently the accept nevers
    COMMENT: happens! Why does the accept fail, but
    COMMENT: the client's socket creation succeed?
    // debug.println("Accepted a connection");
    // debug.close();
    someone.start();
    catch (IOException ioe) {
    COMMENT: These lines are NOT printed
    System.err.println(ioe);
    ioe.printStackTrace(System.err);

  • Streaming multiple streams from multiple capture cards at the same time

    Hi All,
    I have 2 the same capture card. And I am trying to stream to 2 diffrent rtmp server. I start first one and no problem. But when I run second FME instance and select second stream card, first one turns to black and second one shows up. When I close second, first one again comes back.
    What shoul I do for streaming multiple streams form multiple stream cards?
    Best regards.

    They are, yes, but I'm also working with multitrack sessions using clips made from various different sound files.
    Ahh ok, use markers?
    So, this sort of thing isn't possible in multitrack mode then?
    If not, it sounds I'll have to "mix down" my multitrack session into a single file and set up the markers in Waveform Edit view.
    That's an extra step I'd have to do, and after editing the multitrack session, surely some markers . . . oh wait, no . . . every time I output the new mix down file from the multitrack I'd need to redo all the markers. Drat . . .
    Honestly, I am very new to Audition, but I'm about to plow into it, big-time, and I'm hoping for a nice non-destructive and fast workflow that'll enable me to output sets of sounds from the same multitrack session.
    But, it seems like this functionality is currently missing.

  • Ability to control multiple streams?  FMLE command line CMD

    I'm new to the CMD line feature in FMLE.
    I want to stream multiple streams from FMLE, but is it possible to start stream 1 then stream 2 and then stream 3 at different times through the CMD Line?
    Best
    Jeff

    With the single instance you can not. You have to open 3 diff. instance of FMLE with profile you define.

  • A single socket with a reader thread and a writer thread

    Could a socket handle reading and writing simultaneously? If it could, are there any impact?
    Thanks

    With a single socket, a client sent , for example, the first 10 IP packages and wait for the server acknowledge.TCP does that asynchronously from the application.
    If the server noticed that the 7th package was corrupted, then the client need to resend the 7th package.TCP does that asynchronously from the application.
    This could imply there were some idle times on both the client and server.Not at the client. TCP does all that asynchronously from the application. Data is written from the application into the socket send buffer and then the client continues execution. All the segmentation and packetization and acknowledgement and retry is asynchronous from the application. There is a delay at the server but's that's because all the data hasn't arrived, innit? so it's unavoidable. But in practice very few packets are lost and TCP runs at pretty much full speed all the time.
    You still haven't clarified whether you're talking about your code or TCP, but if you're not talking about what TCP does, you must be trying to build all this stuff into your application, which I've already spoken about as redundant at best and highly counter-productive at worst.
    If I open multiple sockets between the client and the server, these idle times would be minimize since the client , while waiting for the acknowledge, could send data to other sockets.This is fallacious for the reasons given above.

  • Insert pages from a single document multiple times

    I'm trying to create a simple program that I can use to display PDF files that I can use to play at the piano. I perform often, and need to create "play lists" from which I can pull all, or part of, a PDF file containing music and display it.
    I have it all working, except for one problem. I may need to "repeat" a section of a piece. I'm building up the play list by calling AcroPDDoc.InsertPages for each item in the play list. If a PDF file appears multiple times in the play list, when I call InsertPages, the call fails.
    In this code snippet, pdDoc is the main doc to which I'm adding pages. playList is a generic List of my own PlayList objects, and I need to iterate through all the items in the playList except the first one, which is already loaded.
    This code works great unless the fileName I specify has already been opened. The call to AcroPDDoc.Open succeeds just fine, but the call to pdDoc.InsertPages fails if the file has already had pages from it inserted. All other documents work fine. The documentation, of course, doesn't mention this.
            int insertPage = pdDoc.GetNumPages() - 1;
            for (int i = 1; i < playList.Count; i++)
              var newDoc = new AcroPDDoc();
              var item = playList(i);
              int startPage = 0;
              int endPage = 0;
              if (newDoc.Open(item.fileName))
                startPage = Math.Max(0, item.startPage);
                endPage = Math.Max(0, item.endPage);
                var totalPages = newDoc.GetNumPages;
                if (item.endPage < 0 || item.endPage > totalPages)
                  endPage = totalPages - 1;
                int numPages = (endPage - startPage) + 1;
                if (pdDoc.InsertPages(insertPage, newDoc, startPage, numPages, 0))
                  insertPage += numPages;
    So, the questions:
    1.) Is it possible to load pages from a single document multiple times?
    2.) Is there a better way to do this? (That is, loop through a list of file names, starting and ending page numbers, and add the documents to an existing document.)
    Any help appreciated! Thanks -- Ken

    Hi Ken,
    >The documentation, of course, doesn't mention this.
    The documentation does not state explicitly that you can't insert pages again from a PDDoc you open again and never close.
    But it mentions that you get references only from an already opened PDDoc.
    "...Opens the specified document. If the document is already open, it returns a reference to the already opened PDDoc. You must call PDDocClose() once for every successful open..."
    It doesn't state that you can't insert pages from a referenced PDDoc but it seems so.
    I would close the PDDoc within your for-loop after inserting pages and release newDoc.
    Regards
    Norbert

  • How to set up multiple streams on one PC

    Hi there,
    can anyone guide me in setting up multiple streams using the FLME and different sources?
    thanks,

    Hi,
    Did you know that you can have several instances of Flash Media Live Encoder  running on your computer?
    Open FMLE and choose the camera you want to use and set the parameters etc.
    double click the FMLE application again and other instance will open. You  can then set up a different camera on this instance, this way you can have two cameras streaming at the same time.
    the only issue here is that you need a computer powerful enough to handle the multple streams and the bandwidth of multiple streams from the computer to FMS for example.
    Is this what you meant?

  • SocketException during reads - JVM_recv in socket input stream read

    I am getting a SocketException when a Java applet talks to our
    WebLogic 7.0 server. The catch is that it only occurs at one site
    (that has very high T1 utilization, although latency is only ~60 ms)
    Our setup is such that the calls hit an Alteon load balancer, which
    then sends the request out to one of 4 IIS clustered servers, where it
    then is sent to one of 2 WL clustered servers. I figured latency
    would be the cause, but on IIS and on WL, the timeouts are set to
    several hundred seconds, so I am not quite seeing where the connection
    is being reset. To be honest, I really don't know if it is WL that is
    killing the connection, as nothing abnormal shows up in the WL log. I
    have seen similar problems in this group, though, although the stack
    traces never follow the same path mine does. I do have the following
    call stack from the Java plug-in console, though. Any ideas would be
    greatly appreciated.
    java.net.SocketException: Connection reset by peer: JVM_recv in socket
    input stream read
         at java.net.SocketInputStream.socketRead0(Native Method)
         at java.net.SocketInputStream.read(Unknown Source)
         at java.io.BufferedInputStream.fill(Unknown Source)
         at java.io.BufferedInputStream.read1(Unknown Source)
         at java.io.BufferedInputStream.read(Unknown Source)
         at sun.net.www.http.HttpClient.parseHTTPHeader(Unknown Source)
         at sun.net.www.http.HttpClient.parseHTTP(Unknown Source)
         at sun.net.www.http.HttpClient.parseHTTP(Unknown Source)
         at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown
    Source)
         at sun.plugin.net.protocol.http.HttpURLConnection.getInputStream(Unknown
    Source)
         at sun.net.www.protocol.http.HttpURLConnection.getHeaderFields(Unknown
    Source)
         at sun.plugin.net.protocol.http.HttpURLConnection.checkCookieHeader(Unknown
    Source)
         at sun.plugin.net.protocol.http.HttpURLConnection.getInputStream(Unknown
    Source)
         at org.xxxx.abstracts.Controller.sendRequest(Controller.java:39)
         at org.xxxx.data.DataMediator.getDataNode(DataMediator.java:46)
         at sun.applet.AppletPanel.run(Unknown Source)
         at java.lang.Thread.run(Unknown Source)
    Also, here is my code, although I can't see anything on the client
    side that seems off:
    public Object sendRequest( Object request, URL receiver ) throws
    Exception{
    Object response = null;
    URLConnection con = null;
    ObjectOutputStream out = null;
    ObjectInputStream in = null;
    try {
    con = receiver.openConnection();
    con.setDoInput(true);
    con.setDoOutput(true);
    con.setUseCaches(false);
    con.setDefaultUseCaches(false);
    con.setAllowUserInteraction(false);
    out = new ObjectOutputStream(con.getOutputStream());
    out.writeObject(request);
    out.flush();
    out.close();
    in = new ObjectInputStream(con.getInputStream());
    response = in.readObject();
    in.close();
    } catch (ClassCastException e) {
    if( out != null ){
    out.close();
    if( in != null ){
    in.close();
    } catch (Exception e) {
    if( out != null ){
    out.close();
    if( in != null ){
    in.close();
    throw e;
    return response;

    There is a known bug on earlier 1.3.1 releases with sockets on Windows 2k
    and XP. I don't remember all the details.
    Peace,
    Cameron Purdy
    Tangosol, Inc.
    http://www.tangosol.com/coherence.jsp
    Tangosol Coherence: Clustered Replicated Cache for Weblogic
    "Keith Patrick" <[email protected]> wrote in message
    news:[email protected]...
    I'm getting the exception on the client, which is an XP machine, while
    the server is Win2K. I can't recall which, but either the applet or
    the server runs 1.3x while the other runs 1.4. I discounted that
    factor, though, as the problem only occurs on one site, which on all
    others it works fine.
    "Cameron Purdy" <[email protected]> wrote in message
    news:<[email protected]>...
    Exception is in the applet or on the server?
    Would one of those by any chance be running on W2K with JDK 131_01 orolder?
    >>
    Peace,
    Cameron Purdy
    Tangosol, Inc.
    http://www.tangosol.com/coherence.jsp
    Tangosol Coherence: Clustered Replicated Cache for Weblogic
    "Keith Patrick" <[email protected]> wrote in message
    news:[email protected]...
    I am getting a SocketException when a Java applet talks to our
    WebLogic 7.0 server. The catch is that it only occurs at one site
    (that has very high T1 utilization, although latency is only ~60 ms)
    Our setup is such that the calls hit an Alteon load balancer, which
    then sends the request out to one of 4 IIS clustered servers, where it
    then is sent to one of 2 WL clustered servers. I figured latency
    would be the cause, but on IIS and on WL, the timeouts are set to
    several hundred seconds, so I am not quite seeing where the connection
    is being reset. To be honest, I really don't know if it is WL that is
    killing the connection, as nothing abnormal shows up in the WL log. I
    have seen similar problems in this group, though, although the stack
    traces never follow the same path mine does. I do have the following
    call stack from the Java plug-in console, though. Any ideas would be
    greatly appreciated.
    java.net.SocketException: Connection reset by peer: JVM_recv in socket
    input stream read
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(Unknown Source)
    at java.io.BufferedInputStream.fill(Unknown Source)
    at java.io.BufferedInputStream.read1(Unknown Source)
    at java.io.BufferedInputStream.read(Unknown Source)
    at sun.net.www.http.HttpClient.parseHTTPHeader(Unknown Source)
    at sun.net.www.http.HttpClient.parseHTTP(Unknown Source)
    at sun.net.www.http.HttpClient.parseHTTP(Unknown Source)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown
    Source)
    at
    sun.plugin.net.protocol.http.HttpURLConnection.getInputStream(Unknown
    Source)
    at sun.net.www.protocol.http.HttpURLConnection.getHeaderFields(Unknown
    Source)
    atsun.plugin.net.protocol.http.HttpURLConnection.checkCookieHeader(Unknown
    Source)
    atsun.plugin.net.protocol.http.HttpURLConnection.getInputStream(Unknown
    Source)
    at org.xxxx.abstracts.Controller.sendRequest(Controller.java:39)
    at org.xxxx.data.DataMediator.getDataNode(DataMediator.java:46)
    at sun.applet.AppletPanel.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
    Also, here is my code, although I can't see anything on the client
    side that seems off:
    public Object sendRequest( Object request, URL receiver ) throws
    Exception{
    Object response = null;
    URLConnection con = null;
    ObjectOutputStream out = null;
    ObjectInputStream in = null;
    try {
    con = receiver.openConnection();
    con.setDoInput(true);
    con.setDoOutput(true);
    con.setUseCaches(false);
    con.setDefaultUseCaches(false);
    con.setAllowUserInteraction(false);
    out = new ObjectOutputStream(con.getOutputStream());
    out.writeObject(request);
    out.flush();
    out.close();
    in = new ObjectInputStream(con.getInputStream());
    response = in.readObject();
    in.close();
    } catch (ClassCastException e) {
    if( out != null ){
    out.close();
    if( in != null ){
    in.close();
    } catch (Exception e) {
    if( out != null ){
    out.close();
    if( in != null ){
    in.close();
    throw e;
    return response;

  • Improving multiple streams, Apple TV streaming?

    Anyone have a time capsule and experience a lot of stuttering with streaming files to appletv? I replaced my time capsule with my dlink router and this works much better, one stutter compared to 20 with the time capsule in a given time (this is with a wired connection). I like my time capsule too, does anyone know of a fix or how to improve QOL (multiple streams etc)?
    Thanks
    Mo

    Since the Apple TV is not equipped with Gigabit-Ethernet ports you can expect the best streaming performance if you have both the Time Capsule (TC) and Apple TV running in the "802.11n only (5 GHz)" radio mode. Next best would be to have them connected via 100 Mb Ethernet. Anything less than these would challenge anything above SD video.

  • JDBC Connection reset by peer: JVM_recv in socket input stream read

    Hey Guys,
    Has anyone seen this issue? We get this error in our Weblogic app logs at times and no one is able to login to our application. Our database server and SQL server seem fine at a high level. Any ideas what is causing this?
    com.s1.arch.persistence.exception.PersistenceException weblogic.jdbc.mssqlserver4.TdsException: I/O exception while talking to the server, java.net.SocketException: Connection reset by peer: JVM_recv in socket input stream read
    Thanks

    please make sure that there is no Firewall between your servers and DB server. this message usually happen when there is a fire wall between the servers. if yes please make sure that the connection time on fire wall is longer than the time needed to complete an operation another thing that you need to check if you have a fire wall which is to make sure that Oracle DBMS return the request to the same port that it is listening to (1521 default).

  • Re: Connection Failure: ReadFile on fd=1231 failed with err=64  + JVM_recv in socket input stream read

    Jon,
    I believe that this error is similar to a "connection reset by peer". It is
    a Window specific error. I believe it indicates that something has happened
    on the other end of the socket such that the socket has gone bad.
    I think that this should only occur when people reset their connection
    before the reply is sent. I don't believe that it is indicative of any
    serious problem other than this communication failure caused by the client.
    I've opened an issue to catch and squelch these spurious exceptions rather
    than logging them. For now I think it is safe to ignore them.
    Regards,
    Adam
    "Jon Mountjoy" <[email protected]> wrote in message
    news:[email protected]...
    Hi Guys,
    Using weblogic 5.1 (downloaded pretty soon after announcement) on windows
    2000 (yes I know not certified there yet) and using jdk1.2.2-001.
    I have a pretty standard setup - a connection pool (5) to a sqlserver
    (remote) machine.
    A pretty standard multithreaded servlet - grabs a connection, does aselect,
    calls dbkona to dump output, releases connection.
    It runs fine - browser returns result. When I push 'reload' on browser,say
    10 times very quickly, I get the following errors. It is sometimes a
    combination of these:
    1- Mon May 08 13:34:41 GMT+00:00 2000:<E> <HTTP> Connection failure
    java.net.SocketException: ReadFile on fd=1912 failed with err=64
    at weblogic.socket.NTSocketMuxer.initiateIO(Native Method)
    at weblogic.socket.NTSocketMuxer.read(NTSocketMuxer.java, Compiled
    Code)
    2- Mon May 08 13:40:42 GMT+00:00 2000:<D> <ListenThread> Problem
    accepting connecti on java.net.SocketException: Connection reset by peer:
    JVM_recv in socket input stream read
    Now I can get rid of (1) by switching off native IO!! This also stoppedIO
    exceptions that were being raised by the servlet when it tried to outputto
    the output stream. (2) persists.
    I have changed nothing else in the properties.
    (1) sounds like I may need to up the number of file descriptors open?
    (2) I don't know. Is my server too loaded? I am running on a 600Mhzusing
    64Mb heap for the server with 300Mb swap available...
    Regards,
    Jon
    More substantial excerpts:
    Mon May 08 13:40:42 GMT+00:00 2000:<D> <ListenThread> Problem accepting
    connection
    java.net.SocketException: Connection reset by peer: JVM_recv in socketinput
    stream read
    at java.net.SocketInputStream.socketRead(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java, Compiled Code)
    at weblogic.socket.ResettableSocket.getPrefix(ResettableSocket.java,
    Compiled Code)
    at weblogic.socket.JVMSocketT3.claimSocket(JVMSocketT3.java, CompiledCode)
    at weblogic.socket.JVMSocketT3.claimSocket(JVMSocketT3.java, CompiledCode)
    at weblogic.socket.JVMSocketManager.accept(JVMSocketManager.java,Compiled
    Code)
    at
    weblogic.t3.srvr.ListenThread$RJVMListenRequest.execute(ListenThread.java,
    Compiled Code)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled Code)
    Mon May 08 13:35:31 GMT+00:00 2000:<E> <HTTP> Connection failure
    java.net.SocketException: ReadFile on fd=1980 failed with err=64
    at weblogic.socket.NTSocketMuxer.initiateIO(Native Method)
    at weblogic.socket.NTSocketMuxer.read(NTSocketMuxer.java, Compiled Code)
    at weblogic.socket.MuxableSocketHTTP.requeue(MuxableSocketHTTP.java,
    Compiled Code)
    at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java,
    Compiled Code)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled Code)
    Mon May 08 13:35:31 GMT+00:00 2000:<E> <HTTP> Connection failure
    java.net.SocketException: ReadFile on fd=1760 failed with err=64
    at weblogic.socket.NTSocketMuxer.initiateIO(Native Method)
    at weblogic.socket.NTSocketMuxer.read(NTSocketMuxer.java, Compiled Code)
    at weblogic.socket.MuxableSocketHTTP.requeue(MuxableSocketHTTP.java,
    Compiled Code)
    at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java,
    Compiled Code)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled Code)
    Mon May 08 13:35:31 GMT+00:00 2000:<E> <HTTP> Connection failure
    java.net.SocketException: ReadFile on fd=1908 failed with err=64
    at weblogic.socket.NTSocketMuxer.initiateIO(Native Method)
    at weblogic.socket.NTSocketMuxer.read(NTSocketMuxer.java, Compiled Code)
    at weblogic.socket.MuxableSocketHTTP.requeue(MuxableSocketHTTP.java,
    Compiled Code)
    at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java,
    Compiled Code)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled Code)

    We are seeing the same error since switching to sp11 (we had been using
    sp10). Haven't seen it in Solaris though. What is causing it?
    Wed May 08 12:01:48 EDT 2002:<E> <HTTP> Connection failure
    java.net.SocketException: ReadFile on fd=3640 failed with err=64
    at weblogic.socket.NTSocketMuxer.initiateIO(Native Method)
    at weblogic.socket.NTSocketMuxer.read(NTSocketMuxer.java:259)
    at weblogic.socket.MuxableSocketHTTP.requeue(MuxableSocketHTTP.java:178)
    at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:280)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
    "John Slaman" <[email protected]> wrote in message
    news:[email protected]..
    >
    I'm getting a error as follows:
    Mon Apr 22 19:04:10 EDT 2002:<E> <HTTP> Connection failure
    java.net.SocketException: ReadFile on fd=2368 failed with err=64
    at weblogic.socket.NTSocketMuxer.initiateIO(Native Method)
    at weblogic.socket.NTSocketMuxer.read(NTSocketMuxer.java, Compiled Code)
    at weblogic.socket.MuxableSocketHTTP.requeue(MuxableSocketHTTP.java,Compiled Code)
    at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java,Compiled Code)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled Code)
    I have no idea as to the cause. It's been posted in the archives before -but with
    no particular solution.
    I'm using WLS 5.1 SP11, JDK 1.2.2_007. Win2000.
    Does anybody know the cause/solution?
    Thanks.
    "Jon Mountjoy" <[email protected]> wrote:
    Hi,
    I have noticed that applying the service pack helps things quite a bit.
    I no longer get NT muxer errors etc etc. just the "connection reset by
    peer"
    every now and again.
    As I am repeatedly hitting the server from one browser, your 'connection
    going bad' scenario probably
    applies quite well.
    (btw. before the SP, the errors seemed to crop up more just before/during
    a
    GC.)
    Jon

  • Connection Failure: ReadFile on fd=1231 failed with err=64  + JVM_recv in socket input stream read

    Hi Guys,
    Using weblogic 5.1 (downloaded pretty soon after announcement) on windows
    2000 (yes I know not certified there yet) and using jdk1.2.2-001.
    I have a pretty standard setup - a connection pool (5) to a sqlserver
    (remote) machine.
    A pretty standard multithreaded servlet - grabs a connection, does a select,
    calls dbkona to dump output, releases connection.
    It runs fine - browser returns result. When I push 'reload' on browser, say
    10 times very quickly, I get the following errors. It is sometimes a
    combination of these:
    1- Mon May 08 13:34:41 GMT+00:00 2000:<E> <HTTP> Connection failure
    java.net.SocketException: ReadFile on fd=1912 failed with err=64
    at weblogic.socket.NTSocketMuxer.initiateIO(Native Method)
    at weblogic.socket.NTSocketMuxer.read(NTSocketMuxer.java, Compiled
    Code)
    2- Mon May 08 13:40:42 GMT+00:00 2000:<D> <ListenThread> Problem
    accepting connecti on java.net.SocketException: Connection reset by peer:
    JVM_recv in socket input stream read
    Now I can get rid of (1) by switching off native IO!! This also stopped IO
    exceptions that were being raised by the servlet when it tried to output to
    the output stream. (2) persists.
    I have changed nothing else in the properties.
    (1) sounds like I may need to up the number of file descriptors open?
    (2) I don't know. Is my server too loaded? I am running on a 600Mhz using
    64Mb heap for the server with 300Mb swap available...
    Regards,
    Jon
    More substantial excerpts:
    Mon May 08 13:40:42 GMT+00:00 2000:<D> <ListenThread> Problem accepting
    connection
    java.net.SocketException: Connection reset by peer: JVM_recv in socket input
    stream read
    at java.net.SocketInputStream.socketRead(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java, Compiled Code)
    at weblogic.socket.ResettableSocket.getPrefix(ResettableSocket.java,
    Compiled Code)
    at weblogic.socket.JVMSocketT3.claimSocket(JVMSocketT3.java, Compiled Code)
    at weblogic.socket.JVMSocketT3.claimSocket(JVMSocketT3.java, Compiled Code)
    at weblogic.socket.JVMSocketManager.accept(JVMSocketManager.java, Compiled
    Code)
    at
    weblogic.t3.srvr.ListenThread$RJVMListenRequest.execute(ListenThread.java,
    Compiled Code)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled Code)
    Mon May 08 13:35:31 GMT+00:00 2000:<E> <HTTP> Connection failure
    java.net.SocketException: ReadFile on fd=1980 failed with err=64
    at weblogic.socket.NTSocketMuxer.initiateIO(Native Method)
    at weblogic.socket.NTSocketMuxer.read(NTSocketMuxer.java, Compiled Code)
    at weblogic.socket.MuxableSocketHTTP.requeue(MuxableSocketHTTP.java,
    Compiled Code)
    at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java,
    Compiled Code)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled Code)
    Mon May 08 13:35:31 GMT+00:00 2000:<E> <HTTP> Connection failure
    java.net.SocketException: ReadFile on fd=1760 failed with err=64
    at weblogic.socket.NTSocketMuxer.initiateIO(Native Method)
    at weblogic.socket.NTSocketMuxer.read(NTSocketMuxer.java, Compiled Code)
    at weblogic.socket.MuxableSocketHTTP.requeue(MuxableSocketHTTP.java,
    Compiled Code)
    at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java,
    Compiled Code)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled Code)
    Mon May 08 13:35:31 GMT+00:00 2000:<E> <HTTP> Connection failure
    java.net.SocketException: ReadFile on fd=1908 failed with err=64
    at weblogic.socket.NTSocketMuxer.initiateIO(Native Method)
    at weblogic.socket.NTSocketMuxer.read(NTSocketMuxer.java, Compiled Code)
    at weblogic.socket.MuxableSocketHTTP.requeue(MuxableSocketHTTP.java,
    Compiled Code)
    at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java,
    Compiled Code)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled Code)

    I have exactly the same problem running on Windows NT 4.0 (SP4) Weblogic 5.1 and
    JDK1.2.2-001.
    java.net.SocketException: ReadFile on fd=1048 failed with err=64
    at weblogic.socket.NTSocketMuxer.initiateIO(Native Method)
    at weblogic.socket.NTSocketMuxer.read(NTSocketMuxer.java, Compiled Code)
    at weblogic.socket.MuxableSocketHTTP.requeue(MuxableSocketHTTP.java, Compiled
    Code)
    at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java, Compiled
    Code)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled Code)
    Jon Mountjoy wrote:
    Hi Guys,
    Using weblogic 5.1 (downloaded pretty soon after announcement) on windows
    2000 (yes I know not certified there yet) and using jdk1.2.2-001.
    I have a pretty standard setup - a connection pool (5) to a sqlserver
    (remote) machine.
    A pretty standard multithreaded servlet - grabs a connection, does a select,
    calls dbkona to dump output, releases connection.
    It runs fine - browser returns result. When I push 'reload' on browser, say
    10 times very quickly, I get the following errors. It is sometimes a
    combination of these:
    1- Mon May 08 13:34:41 GMT+00:00 2000:<E> <HTTP> Connection failure
    java.net.SocketException: ReadFile on fd=1912 failed with err=64
    at weblogic.socket.NTSocketMuxer.initiateIO(Native Method)
    at weblogic.socket.NTSocketMuxer.read(NTSocketMuxer.java, Compiled
    Code)
    2- Mon May 08 13:40:42 GMT+00:00 2000:<D> <ListenThread> Problem
    accepting connecti on java.net.SocketException: Connection reset by peer:
    JVM_recv in socket input stream read
    Now I can get rid of (1) by switching off native IO!! This also stopped IO
    exceptions that were being raised by the servlet when it tried to output to
    the output stream. (2) persists.
    I have changed nothing else in the properties.
    (1) sounds like I may need to up the number of file descriptors open?
    (2) I don't know. Is my server too loaded? I am running on a 600Mhz using
    64Mb heap for the server with 300Mb swap available...
    Regards,
    Jon
    More substantial excerpts:
    Mon May 08 13:40:42 GMT+00:00 2000:<D> <ListenThread> Problem accepting
    connection
    java.net.SocketException: Connection reset by peer: JVM_recv in socket input
    stream read
    at java.net.SocketInputStream.socketRead(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java, Compiled Code)
    at weblogic.socket.ResettableSocket.getPrefix(ResettableSocket.java,
    Compiled Code)
    at weblogic.socket.JVMSocketT3.claimSocket(JVMSocketT3.java, Compiled Code)
    at weblogic.socket.JVMSocketT3.claimSocket(JVMSocketT3.java, Compiled Code)
    at weblogic.socket.JVMSocketManager.accept(JVMSocketManager.java, Compiled
    Code)
    at
    weblogic.t3.srvr.ListenThread$RJVMListenRequest.execute(ListenThread.java,
    Compiled Code)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled Code)
    Mon May 08 13:35:31 GMT+00:00 2000:<E> <HTTP> Connection failure
    java.net.SocketException: ReadFile on fd=1980 failed with err=64
    at weblogic.socket.NTSocketMuxer.initiateIO(Native Method)
    at weblogic.socket.NTSocketMuxer.read(NTSocketMuxer.java, Compiled Code)
    at weblogic.socket.MuxableSocketHTTP.requeue(MuxableSocketHTTP.java,
    Compiled Code)
    at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java,
    Compiled Code)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled Code)
    Mon May 08 13:35:31 GMT+00:00 2000:<E> <HTTP> Connection failure
    java.net.SocketException: ReadFile on fd=1760 failed with err=64
    at weblogic.socket.NTSocketMuxer.initiateIO(Native Method)
    at weblogic.socket.NTSocketMuxer.read(NTSocketMuxer.java, Compiled Code)
    at weblogic.socket.MuxableSocketHTTP.requeue(MuxableSocketHTTP.java,
    Compiled Code)
    at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java,
    Compiled Code)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled Code)
    Mon May 08 13:35:31 GMT+00:00 2000:<E> <HTTP> Connection failure
    java.net.SocketException: ReadFile on fd=1908 failed with err=64
    at weblogic.socket.NTSocketMuxer.initiateIO(Native Method)
    at weblogic.socket.NTSocketMuxer.read(NTSocketMuxer.java, Compiled Code)
    at weblogic.socket.MuxableSocketHTTP.requeue(MuxableSocketHTTP.java,
    Compiled Code)
    at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java,
    Compiled Code)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled Code)

  • Io exception: Connection reset by peer: JVM_recv in socket input stream read

    We are developing a new J2EE app using JDev, OC4J, servlets, and EJBs. We have determined that our firewall is closing database connections that have been idle for 1 hour. This is a security requirement that cannot be changed. When we try to use these idle connections in both stateless and entity beans, we consistently receive this or a similar error message:
    "ServletSACategoryList: Error invoking EJB procedure. Exception: java.sql.SQLException: StatelessSysAdminBean::getCategoryList - Io exception: Connection reset by peer: JVM_recv in socket input stream read "
    Environment:
    Oracle 9iAS 9.0.2.0.0
    Database: Oracle 8.1.7
    JDBC 8.1.7
    JDK 1.3
    JDev 9.0.2.829
    We are using the ejb-location attribute within data-sources.xml for JNDI lookup of the DataSource. Here is what this file looks like:
    <data-sources>
    <data-source
    class="oracle.jdbc.pool.OracleDataSource"
    name="jdbc/OracleDS"
    location="jdbc/OracleCoreDS"
    xa-location="jdbc/xa/OracleXADS"
    ejb-location="jdbc/OraclePoolDS"
    url="jdbc:oracle:thin:@###.###.#.###:1521:dev1"
    connection-driver="oracle.jdbc.driver.OracleDriver"
    username="????????"
    password="????????"
    max-connections="4"
    wait-timeout="20"
    min-connections="1"
    inactivity-timeout="60"
    connection-retry-interval="1"
    max-connect-attempts="3"
    />
    </data-sources>
    After calling getConnection() on the Connection object in my stateless bean, I have tried checking if the Connection object is null or isClosed(), I have caught any Exception, and looped to try again, but nothing has worked.
    Please respond to [email protected] or directly to this post if you can help in any way.
    Thank you,
    - Rob

    Hi Robert,
    If you don't mind, I can only offer a few suggestions for things
    to try -- I'm afraid I don't have a solution for you. Of-course,
    you may have already tried these things, so please excuse me if
    this is the case.
    Firstly, your "data-sources.xml" file looks "different". Have
    you read the "Data Sources" chapter of the "Oracle9iAS Containers
    for J2EE Services Guide, Release 2 (9.0.2)"? It is accessible
    from here:
    http://otn.oracle.com/docs/products/ias/doc_library/90200doc_otn/web.902/a95879/ds.htm#1004903
    Also, have you tried running OC4J in "debug" mode? This web
    page has more details:
    http://kb.atlassian.com/content/atlassian/howto/orionproperties.jsp
    I get the impression from the information you have supplied,
    that you may not be explicitly closing your database connections
    in your code. It looks to me like you are obtaining a database
    connection in your session bean, and then keeping it for the
    lifetime of that bean. Is that correct? I think it's better
    to obtain a connection when you need to interact with the database,
    and then close the connection immediately after completing the
    interaction with the database (but that's just my opinion).
    Lastly, if you haven't already discovered them, these web sites
    may also be of help:
    http://www.orionserver.com
    http://www.orionsupport.com
    http://www.elephantwalker.com
    Hope this helps you.
    Good Luck,
    Avi.

Maybe you are looking for

  • ALD VAT Sum Question

    I am a realy newbie regarding to the ALD in Business One. I am trying to print out at the end of my producttable in my invoice a line like this: "incl. VAT with Code A2 at 16,00% (for instance) of (the amount of all the lines which are calculated wit

  • "class not found error" and applets ...

    To run an applet inside an html page using the embedded oc4j i have to copy the library containing the applet to the same directory as the html page. Otherwise i get a class not found error....Is there a better way of doing this? thanks in advance fo

  • Software Update broken in 10.4.8

    As soon as I install the latest version of OSX and update it to the latest version, this happens: 2006-10-23 13:13:09.753 System Preferences[196] scan:didFailWithError: NSError "timed out" Domain=NSURLErrorDomain Code=-1001 UserInfo={ NSErrorFailingU

  • Server DNS record automatically deleted

    We built a new file server 10 days ago. When we set it up it would have gotten a dhcp address which then we converted it into having a static ip address. 8 days later the DNS Record for the server automatically got deleted. This was not setup as a st

  • How to use rotoscoped layer as mask or track matte

    I'm doing some work between a 3d program and after effects cs6. Is there a way to use a rotoscoped layer as either a mask or a track matte for a different layer? Have tried it as a luma matte without success. DO I need to precompose anything? Thanks