Problem with timers in a udp state pattern

Hi.
As a project on my school, i have created a bomberman game, that supports up to 4 players on a network. And it works fine, when there is no network timers involved, that means no packet loss handling.
The network part of the game, is build up by UDP, to make the application support multicast. The game session flow, is build up by states which are designed like an extended 2 phase commit pattern.
That means, the server sends Gameinfo to the clients. Then all the cliens replies with an ACK.
The server then sends ExecuteGameinfo. Then the clients replies with an ACK.
The server sends/requests playerinfo, and the clients reply with player info. (the server uses the player info to create gameinfo).
These 3 states, continues to go on, as long as the game is running. And without timers, it is working great.
But what if a packet is lost? (on a LAN, packetloss is very rare, but for the sake of my project�s issue, custom made reliability in UDP, I have to face the problem). Then the server would just hang, and wait for the client reply.
To avoid that, i want to use a timer. If the server havent got any reply for like a 100 ms., the server should resend the package.
And now to the actual problem :)
Ive tried using java.util.Timer, and javax.swing.Timer. But both timers does not work in my case. Its like:
Server starts timer.
Server sends Gameinfo.
100 ms passes.
Server resends Gameinfo.
Server restarts timer.
100 ms passes.
(this goes on for 5 times, and then the client is kicked)
Server receives ACK.
Server receives ACK.
Server receives ACK.
Server receives ACK.
Server receives ACK.
On the client side it looks like this:
Recieves Gameinfo, replies with ACK
Recieves Gameinfo, replies with ACK
x 5
So its like the server is to concentrated on that timer (even though it runs as a thread), so i doesent notice the incoming packets, that eventually stacks up, and is handled after the timer tasks are done.
And this is exactly the problem that is described in the Timer api: " Timer tasks should complete quickly. If a timer task takes excessive time to complete, it "hogs" the timer's task execution thread. This can, in turn, delay the execution of subsequent tasks, which may "bunch up" and execute in rapid succession when (and if) the offending task finally completes."
Ive tried using a homemade timer, with a Thread.sleep(), it is a bit better, but the problem is the same. 1 out of 20 incoming packets, is "ignored" by the server.
I really hope any of you can help.
I havent included any code, it would be to much code. But if you are interested in looking at something i can easily paste it.
Thank you very much for your time :)
Regards.

Don't use a Timer, use DatagramSocket.setSoTimeout(). Then your receives will only block for that amount of time, throwing SocketTimeoutException if no datagram arrives.

Similar Messages

  • Problem with return true and if statement

    I'm making a
    ship shooter
    game and I have a problem with the collision detection for the
    corners of the stage. When you hold down two of the arrows to move
    the ship into the corners of the screen, the ship will go past it.
    The function bellow is what I'm using to detect this collision. The
    reason I'm using a function is because it's used for the ship and
    for all the balls from the cannons (as shown in the last two lines
    of the attached code). This is the reason I need the return true,
    so the if statement can be evaluated to true and then unload the
    movieclip of the cannon ball. When I remove the return true, the
    collision works fine, but obviously my cannon balls all get stuck
    on the edges.
    Any ideas?

    Well the function is called every frame, for the ship and for
    every cannon ball that's on the screen. So it could be called about
    4 times or so per frame. The problem is that ship goes through the
    corners of the stage (btw, the green background is the stage area)
    when you go in a diagonal direction.
    Just curious...what's the unnecessary code you're talking
    about?

  • Problems with downloading PDF copies of Statements

    Is anyone experiencing problems downloading PDF copies of billing statements? When I attempt to do so, every file I download is categorized by Adobe Acrobat as an invalid file/format. Thanks.

    Are you using the newer My Verizon web site? I know it allows you to download the bills in multiple formats.
    If you have not been switched yet, and you do switch, it will not allow you to switch back to the older MyVerizon format. I am not sure if everyone has switched over.
    http://www22.verizon.com/foryourhome/myaccount/ngen/upr/nlogin.aspx
    If you login and select Bill & Payment from the left side bar, the page should display the current bill.
    At the top of that page you will see a pull down menu that will allow the display of other months.
    To the right of the pull down, there is an icon that says "Get My Bill (Up to 24 months)" click on that icon, and it will start with the Current Bill.
    You can ask for paper bill select PDF or select other formats, click on Download My Bill, then it will say "Your PDF file of your bill is ready for download. " you musk click a second time. For the download to come up in the menu.
    This works for me, and I am only using the Latest Reader and not the Pro Version, But have Pro at work and have had no issues.
    It seems like a more complicated procedure as compared to the previous one, but it does provide multiple download formats, with more options that others have requested.

  • Problem with or condition in if statement

    Dear Oracle experts,
    I have a strange problem with Oracle 10g1R1 :
    The script below should normally write the value 1, 2, 3, 4, 5, 7, 9, 10 into my table.
    But itwrites all the values from 1 to 10 into my table.
    Only if I use only one condition without the 'or' the
    if condition is successful.
    Is this a normal behaviour of the database ?
    If yes, then why ?
    Best regards,
    Daniel Wetzler
    create table messages (results varchar2(30));
    declare
    var1 number;
    begin
    for i in 1..10 loop
    dbms_output.put_line(i);
    if (i != 6) or (i != 8)
    then
    insert into messages results values (i);
    end if;
    end loop;
    commit;
    end;
    /

    You want to use AND for that condition, not OR
    SQL> begin
      2  for i in 1..10 loop
      3     if (i != 6) and (i != 8)
      4     then
      5        dbms_output.put_line(i);
      6     end if;
      7  end loop;
      8  end;
      9  /
    1
    2
    3
    4
    5
    7
    9
    10

  • Problem with application item and session state

    Okay, let's see if I can explain this problem coherently.
    I have a small app (one page), with an application item, F_WHERE_CLAUSE.
    This page has three regions in which there are items that the users can populate for search conditions. A couple of these items are "select list with submit" (I still need to upgrade to the AJAX method, I know). There is another region which has one hidden field, called P1_WHERE_CLAUSE. This field is defined to "Always, replacing any value in session state..." with source type of "Item (application or page.....", and a source value of F_WHERE_CLAUSE with no default value.
    I have a button called "Search" which submits the page and fires a PL/SQL process which builds a where condition based upon the other page items and stores the value to the application item F_WHERE_CLAUSE (correctly).
    For testing, I've made the P1_WHERE_CLAUSE field visible so that I can see what's going on. I've also clicked the debug and session buttons to help trace this. After I click the "Search" button and the page submits, debug shows:
    0.02: ...Session State: Save "P1_WHERE_CLAUSE" - saving same value: "1=1"
    followed later by:
    0.05: ...Session State: Saved Item "F_WHERE_CLAUSE" New Value="lower(primary_class) = 'rock' and country = 'Spain'"
    The field P1_WHERE_CLAUSE displays with the correct search criteria as signified by F_WHERE_CLAUSE above. However, If I click the "session" button to view the session state values, P1_WHERE_CLAUSE shows up as:
    P1_WHERE_CLAUSE Textarea    1=1    U while F_WHERE_CLAUSE displays the correct value still.
    The reason this "problem" came up, is that this page also has three SQL report regions which use &P1_WHERE_CLAUSE. for the where condition. While they display the correct results on-screen, each report region also has the "Export to csv" enabled, and the export seems to be using the "1=1" condition (from the "session" window) instead of the search criteria that the on-screen region is using (F_WHERE_CLAUSE and the displayed P1_WHERE_CLAUSE), resulting in a retreival of all records.
    Anybody have any idea what's going on and why, and how to get the csv export to use the correct value for the where condition?
    Thanks,
    Bill Ferguson

    It appears the "Export to CSV" functionality requires the item value to be set in session state. The P1_WHERE_CLAUSE item value never gets saved to session state. The page is rendered and the value is put in the item on the page but until you submit the page session state doesn't know what P1_WHERE_CLAUSE is.
    Create a before header computation or process to set the value of P1_WHERE_CLAUSE (which will save it to session state). It is interesting that the report regions didn't need to look at the value in session state but the "export to csv" does.
    --Jeff                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • URGENT: Problem with lexical reference in query statement!

    I am modifying the seeded Receipt Traveler report.
    The query I need to modify is the receipts query (Q_RECEIPTS). The entire query statement for this is a lexical reference - &P_SELECT_RECEIPTS. The actual query is being set in the After Parameter Form trigger. I need to add a few columns to the select clause and tables to the from clause. Modifying the query in the trigger alone did not help. I got the error - REP 0498 "selected columns differ from report definition"
    => How do I add these new columns to the report now? Do I need to put them in the initial value of the parameter &P_SELECT_RECEIPTS?
    => I tried modifying P_SELECT_RECEIPTS, but I get a REP 1070 error saying the file cannot be saved.
    => In addition, P_SELECT_RECEIPTS does not have a from clause, which causes a problem for me, but I am wondering how the report was originally saved
    Any help with this rather lengthy question will be greatly appreciated.
    Thanks,
    P.S.
    The initial value of &P_SELECT_RECEIPTS is set to:
    SELECT rrp.item_id,rrp.organization_id rrp_organization_id,MSI.SEGMENT1||''||MSI.SEGMENT2||''||MSI.SEGMENT3||''||MSI.SEGMENT19||''||MSI.SEGMENT20 C_FLEX_ITEM,MCA.SEGMENT1||''||MCA.SEGMENT2||''||MCA.SEGMENT3||''||MCA.SEGMENT19||''||MCA.SEGMENT20 C_FLEX_CAT,rrp.revision_num,rrp.category_id,rrp.item_description,rrp.un_num,rrp.un_description,rrp.hazard_class,rrp.routing_name,rrp.document_type_code,rrp.document_number,rrp.release_num,rrp.line_num,rrp.buyer_preparer_name,rrp.source_type,rrp.source,rrp.source_unit_of_measure,rrp.vendor_product_num,fnd_date.date_to_canonical(rrp.due_date) due_date,round(rrp.quantity_ordered,:P_qty_precision) quantity_ordered,rrp.note_to_receiver,rrp.pll_note_to_receiver,decode(psp.manual_receipt_num_type,'ALPHANUMERIC',rrp.receipt_num,decode(rtrim(rrp.receipt_num,'0123456789'),NULL,to_number(rrp.receipt_num),rrp.receipt_num)) RECEIPT_NUM,rrp.receipt_unit_of_measure,fnd_date.date_to_canonical(rrp.receipt_date) receipt_date,rrp.receipt_location,rrp.receiver_first_name,rrp.receiver_last_name,rrp.freight_carrier,round(rrp.quantity_received,:P_qty_precision) quantity_received,rrp.primary_quantity parent_primary_quantity,round(rrp.quantity_remaining,:P_qty_precision) quantity_remaining,rrp.shipment_num,rrp.bill_of_lading,rrp.vendor_lot_num,rrp.packing_slip_num,rrp.containers,rrp.receiver_comment,rrp.transaction_type rrp_transaction_type,rrp.transaction_id rrp_transaction_id,rrp.shipment_line_id rrp_shipment_line_id,rrp.shipment_header_id rrp_shipment_header_id,rrp.distribution_id rrp_distribution_id,rrp.po_header_id,rrp.po_line_id,rrp.po_line_location_id,rrp.requisition_header_id,rrp.requisition_line_id,rrp.from_interface rrp_from_interface,rrp.deliver_to_location,rrp.license_plate_number

    You can see the query being bulit within the BUILD_QRECIEPTS Program Unit

  • Problem with timers

    dear all
    I created two timers as followed :
    When_new_form_instance
    -- 'INSERT_TIMER' used for fetching data from from one table and perform some
    --calculations then display the rows on a non db block.
    -- 'news_timer' is to move three items on the canvas.
    --these items contains the latest news . it looks like the news lines.
    declare
    vTIMER_data timer;
    vNEWS_TIMER timer;
    begin
    vTIMER_data := CREATE_TIMER ('INSERT_TIMER', 1000, REPEAT);
    vNEWS_TIMER := create_timer('news_timer',25,repeat);
    end;
    -- now the two timer has created when running the form
    --on the trigger when_timer_expired I write this code:
    DECLARE     
    vTIMER_NAME varchar2(200);     
    BEGIN
    vTIMER_NAME := GET_APPLICATION_PROPERTY(TIMER_NAME) ;
    IF vTIMER_NAME ='news_timer' THEN
    MOVE ('TICKER.N1');-- move the ticker
    END IF;
    IF vTIMER_NAME = ('INSERT_TIMER') THEN
    vtime := to_char(SYSDATE,'HH24:MI:SS');
    p_get_avg_price( :control.n_country,
    :control.n_stock,
    :control.from_date,
    :control.n_to_date,vtime);
    End If;
    END;
    when i run the form the the timer 'news_timer' fires every second instead of 25 milisecond .it fires after the timer 'INSERT_TIMER' fires. i want the timer 'news_timer' to fire every 25 milisecod and not to fire with the
    'INSERT_TIMER' timer
    please help

    thank you Gred for your replay
    in fact the I think that the problem is that the procedure that executes every 1000 milisecond perform a quey that may spends about from 5 to 8 seconds . this query gets data from a table that contains more than 2 milion records . the query is :
    CURSOR avg_cur is
         SELECT ROUND(AVG(PRICE),2)N_PRICE,round(AVG(QTY),2)AVG_QTY , STOCK_CODE
         FROM HS_OPERATIONS
         WHERE STOCK_CODE = NVL(p_stock,STOCK_CODE)
              AND COUNTRY_ID = pcountry
              and the_date between pfrom_date and PTO_DATE
              AND TO_DATE(TO_CHAR(THE_TIME,'HH24:MI:SS'),'HH24:MI:SS') <=     TO_DATE( pto_TIME,'HH24:MI:SS')
         GROUP BY STOCK_CODE;
    i know that this is a complicated issue.
    the parameter pto_TIME represents a clock displayed on a disply item . And i need to get the avarage of price for every stock untill the second displayed on the clock.
    I this that this is the big problem which cause the timers to be delyed .
    I'll be so grateful if you tell me your suggestions.
    thanks alot

  • Problem with receiving of the UDP multicasting on multiple interfaces in the W2K12 cluster

    Hi,
    I have my .NET application which receives the UDP multicasting communication. It works fine until it is deployed on a W2K12 cluster. Some multicast groups are still available and some are not in the cluster. The
    problem is caused by the cluster which creates a virtual interface for a inter-node communication. When the cluster is on and my app is trying to subscibe to the affected group then IGMP packets are routed to the cluster's
    virtual interface where the multicast communication is not available. When the cluster (cluster service) is off all groups are available and IGMP is routed to a right interface.
    I also have a different application which is not based on .NET and it receives all multicast groups in any deployment (same W2K12 clustered server). So, I guess that in my app I have to tell to the socket somehow, which local interface should
    be used for a particular multicast group. In my app I use code below for a group subscribtion, but I still can't manage routing of IGMP to a right local interface. Can you help me?
    As you can see in the code example I try to mapp a group to a local interface using its IP and index using MulticastOption class, but it has no effect. Different interface (cluster's virtual interface) is used for a IGMP
    subscribtion. I also tried to bind\set local interface to Any, but without success.
    It seems that there is some OS logic which overrides my setup. But, it must be possible to do the socket setup correctlly because non .NET application works fine.
    Thanks.
    Regards,
    Marek
    public void Start(string[] args)
    //args[0] - multicast group
    //args[1] - multicast port
    //args[2] - local interface IP
    //args[3] - local interface index
    UdpClient udp = new UdpClient();
    udp.Client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
    udp.Client.Bind(new IPEndPoint(IPAddress.Parse(args[2]), Convert.ToInt32(args[1])));
    MulticastOption mcastOption = new MulticastOption(IPAddress.Parse(args[0]));
    mcastOption.LocalAddress = IPAddress.Parse(args[2]);
    mcastOption.InterfaceIndex = int.Parse(args[3]);
    udp.Client.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.AddMembership, mcastOption);
    udp.BeginReceive(new AsyncCallback(Receive), udp);

    I don’t know if it will help you but I can illustrate my problem on the following prints from netsh and route tools. First print from netsh shows that the affected group 224.0.46.232 is assigned to interface 20. Second print shows
    that interface 20 is Microsoft Failover Cluster Virtual Adapter where multicast communication is not available.
    When the test app, which works fine, is used than these prints show that group 224.0.46.232 is assigned to interface 19 - Microsoft Network Adapter Multiplexor Driver, where multicast communication is available.
    So, the question is how to manage these „prints“ to requested setup in .NET.
    Regards,
    Marek
    C:\Windows\system32>netsh interface ip show joins
    Interface 1: Loopback Pseudo-Interface 1
    Scope       References  Last  Address
    0                    0  Yes   239.255.255.250
    Interface 20: Local Area Connection* 12
    Scope       References  Last  Address
    0                    0  Yes   224.0.0.1
    0                    1  Yes   224.0.0.252
    0                    1  Yes   224.0.46.232
    Interface 19: Public
    Scope       References  Last  Address
    0                    0  No    224.0.0.1
    0                    1  No    224.0.0.252
    0                    0  Yes   239.255.255.250
    C:\Windows\system32>route print
    ===========================================================================
    Interface List
    19...3c d9 2b ef 8a ec ......Microsoft Network Adapter Multiplexor Driver
    20...02 91 08 09 1a ae ......Microsoft Failover Cluster Virtual Adapter
      1...........................Software Loopback Interface 1
    16...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter
    21...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #3
    ===========================================================================

  • Problem with GRANT syntax in MYSQL statement...need help!

    Good afternoon all!
    I need a little help with some mysql syntax. I'm using version 4.0.17, and I'm just starting to try to learn about connection pooling (you'll probably see future posts from me on this topic as well:)...
    I'm following the directions contained on Apache's website (http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jndi-datasource-examples-howto.html) on how to set up a JNDI datasource.....
    The directions are simple, Create a new test user, a new database and a single test table. Your MySQL user must have a password assigned. The driver will fail if you try to connect with an empty password.
    I then proceed to enter this line into my mysql prompt - mysql> GRANT ALL PRIVILEGES ON *.* TO javauser@localhost IDENTIFIED BY 'javadude' WITH GRANT OPTION;
    Here's the error I get : ERROR 1045: Access denied for user: '@localhost' (Using password: NO)
    Can someone give me the heads up on what the "correct" syntax is?

    tnguyen1973 , I tried your statement again, this time excluding the -p, pressed Enter and then entered the statement I first posted, and it took that too.
    So I'm hoping I can now continue with the example provided on the Apache website.
    Can you tell me the difference between using the -p in the statement, and where I can learn more about these things?
    Thanks.

  • Problem with EXPORT TO SHARED MEMORY statement.

    Hi I am using the syntax
          EXPORT w_netwr FROM w_netwr
                 w_name FROM w_name
            TO SHARED MEMORY indx(xy)
            FROM wa
            CLIENT sy-mandt
            ID 'Z_MID'.  
    and later importing them in a method but I am getting wrong values in import. Can u please help do we need any
    other addition to make this work correctly.

    delete the memory before exporting and after importing. like a clear statement we use in code.

  • Problem with a variable in SQL Statement variable

    Hello
    I am trying the following query.
    hstmt = DBActivateSQL(hdbc, "SELECT UserLevel FROM ClassUsers WHERE Password = "+ cadena +"");
    At this point I recieve this error:
    Operands of + have illegal types 'pointer to char' and 'pointer to char'.
    I have tried this:
    hstmt = DBActivateSQL(hdbc, "SELECT UserLevel FROM ClassUsers WHERE Password = "+ &cadena +"");
    hstmt = DBActivateSQL(hdbc, "SELECT UserLevel FROM ClassUsers WHERE Password = '"+ cadena +"'");
    Still having the same problem.
    It works fine if I do this.
    hstmt = DBActivateSQL(hdbc, "SELECT UserLevel FROM UserClass WHERE Password = 'cadena'");
    Where 'cadena' is treated as a string.
    Any Ideas?
    Thanks!
    There is "No C" in spanish.
    If you can think it, you can develop it.
    Solved!
    Go to Solution.

    Nice One JR.
    I was using not the VB but the C# .NET method, which I assume is the same as VB way.
    Yours is the pretty rigth solution, just missig the adding of "'" (apostrophe character) to diferentiate between chars and numbers at any further query which was solved by the using of strcat() again.
    Thanks for this.
    Victor
    There is "No C" in spanish.
    If you can think it, you can develop it.

  • Has anyone had a problem with elements 9? I am in editor and cannot get out. It states I have to com

    I am having a problem with Elements 9. It states the editor command is busy and cannot process my next request.  If their is anyone out there that can help I would appreciate it. I am presently lockout from performing any other function. Cheryl

    This is an Adobe Acrobat forum not a PhotoShop Elements forum. You might want to repost in the appropriate forum.

  • X86 Solaris 10 problems with ipfilter

    Colleagues,
    I'm install Solaris 10 on HP Proliant DL360 G4
    (listed in HCL for Solaris OS http://www.sun.com/bigadmin/hcl/data/sol/systems/details/691.html)
    Everything works fine till, but when I increase loading
    (DNS server there, so too much UDP packets, about 2000/sec) Solaris panic with:
    Nov 30 10:35:45 d0 ^Mpanic[cpu0]/thread=ffffffff85759820:
    Nov 30 10:35:45 d0 genunix: [ID 103648 kern.notice] mutex_exit: not owner, lp=0 owner=0 thread=ffffffff85759820
    Nov 30 10:35:46 d0 unix: [ID 100000 kern.notice]
    Nov 30 10:35:46 d0 genunix: [ID 655072 kern.notice] fffffe8000c08190 unix:mutex_panic+6f (0, ffffffff860f5d98, fffffe)
    Nov 30 10:35:46 d0 genunix: [ID 655072 kern.notice] fffffe8000c081b0 unix:mutex_vector_exit+39 ()
    Nov 30 10:35:46 d0 genunix: [ID 655072 kern.notice] fffffe8000c081e0 ipf:ipf_stinsert+333e9215 ()
    Nov 30 10:35:46 d0 genunix: [ID 655072 kern.notice] fffffe8000c08210 ipf:fr_updatestate+61 ()
    Nov 30 10:35:46 d0 genunix: [ID 655072 kern.notice] fffffe8000c08250 ipf:fr_checkstate+10f ()
    Nov 30 10:35:46 d0 genunix: [ID 655072 kern.notice] fffffe8000c08390 ipf:fr_check+629 ()
    Nov 30 10:35:46 d0 genunix: [ID 655072 kern.notice] fffffe8000c08530 pfil:pfil_precheck+850 ()
    Nov 30 10:35:46 d0 genunix: [ID 655072 kern.notice] fffffe8000c08560 pfil:pfilmodwput+9f ()
    Nov 30 10:35:46 d0 genunix: [ID 655072 kern.notice] fffffe8000c085c0 unix:putnext+1f1 ()
    Nov 30 10:35:46 d0 genunix: [ID 655072 kern.notice] fffffe8000c086d0 ip:ip_wput_ire+1a98 ()
    Nov 30 10:35:46 d0 genunix: [ID 655072 kern.notice] fffffe8000c08780 ip:ip_output+ee9 ()
    Nov 30 10:35:46 d0 genunix: [ID 655072 kern.notice] fffffe8000c08790 ip:ip_wput+18 ()
    Nov 30 10:35:46 d0 genunix: [ID 655072 kern.notice] fffffe8000c087f0 unix:putnext+1f1 ()
    Nov 30 10:35:46 d0 genunix: [ID 655072 kern.notice] fffffe8000c08870 udp:udp_wput+29d ()
    Nov 30 10:35:46 d0 genunix: [ID 655072 kern.notice] fffffe8000c088d0 unix:putnext+1f1 ()
    Nov 30 10:35:46 d0 genunix: [ID 655072 kern.notice] fffffe8000c08a70 genunix:strput+3bc ()
    Nov 30 10:35:46 d0 genunix: [ID 655072 kern.notice] fffffe8000c08af0 genunix:kstrputmsg+1e8 ()
    Nov 30 10:35:46 d0 genunix: [ID 655072 kern.notice] fffffe8000c08ba0 sockfs:sosend_dgram+181 ()
    Nov 30 10:35:46 d0 genunix: [ID 655072 kern.notice] fffffe8000c08c10 sockfs:sotpi_sendmsg+1bc ()
    Nov 30 10:35:46 d0 genunix: [ID 655072 kern.notice] fffffe8000c08c80 sockfs:sendit+f0 ()
    Nov 30 10:35:46 d0 genunix: [ID 655072 kern.notice] fffffe8000c08ed0 sockfs:sendmsg+1bf ()
    Nov 30 10:35:47 d0 unix: [ID 100000 kern.notice]
    Nov 30 10:35:47 d0 genunix: [ID 672855 kern.notice] syncing file systems...
    Nov 30 10:35:47 d0 genunix: [ID 733762 kern.notice] 34
    Nov 30 10:35:48 d0 genunix: [ID 733762 kern.notice] 24
    Nov 30 10:36:08 d0 last message repeated 20 times
    Nov 30 10:36:09 d0 genunix: [ID 622722 kern.notice] done (not all i/o completed)
    Nov 30 10:37:30 d0 genunix: [ID 540533 kern.notice] ^MSunOS Release 5.10 Version Generic_118844-20 64-bit
    Nov 30 10:37:30 d0 genunix: [ID 943906 kern.notice] Copyright 1983-2005 Sun Microsystems, Inc. All rights reserved.
    At some stage there are problems with creation of a new state...
    I remember some time ago (Solaris 2.8) there where problems like that with ipfilter, but now ipfilter included in Solaris distribution, hardware tested and so on...
    New reincarnation of a problem?
    Somebody has similar problems with the software x86 Solaris 10?
    Thanks, Roman Gnatenko (rvg at co.ru)

    Hi. I've never seen anything like this, and it seems to be something which
    the JDBC module is going to be an innocent victim of, rather than a
    contributor to... Your best course is to open an official support case.
    Joe

  • EEM Applet Problem With: event syslog pattern ".*" priority 2

    I went to create a EEM applet that would be invoked whenever any syslog message of priority 0-2 was invoked. I figured  the following event statement would work
           event syslog pattern ".*" priority 2
    I never really used the priority optional argument before but thought I understood from the docs that messages at or numerically lower than the specified level are matched.
    Well it doesn't seem to work as documented.  Seems to me that only messages at the specified level are beng matched and not messages numerically lower than the specified level.
    Anyway I did what I wanted differently but wanted to post this in case this is a bug in the syslog ed.

    Actually, it's a problem with the documentation.  The priority option only matches the specified severity.  What you could do is adjust pattern to do this:
    event syslog pattern "*-[012]-"

  • Problem with switch-statement & ä, ö, ü

    Hi all,
    I am doing this Java online tutorial right now and have a problem with one of the exercises. Hopefully you can help me:
    I have to write a program that determines the number of consonants, vowels, punctuation characters, and spaces in an input line. I found a solution, but have two questions about it:
    •     I’m unable to calculate the amount of umlauts (ä, ö, ü). Somehow the program doesn’t recognize those characters. Why?
    •     In general I’m not very happy with this huge list of “cases”. How would you solve a problem like this? Is there a more convenient/elegant way?
    Thanks in advance!
    Write a program that determines the number of consonants, vowels, punctuation characters, and spaces in an input line.
    Read in the line into a String (in the usual way). Now use the charAt() method in a loop to access the characters one by one.
    Use a switch statement to increment the appropriate variables based on the current character. After processing the line, print out
    the results.
    import java.util.Scanner;
    class Kap43A1
      public static void main ( String[] args )
        String line;
        char letter;
        int total, countV=0, countC=0, countS=0, countU=0, countP=0;
        Scanner scan = new Scanner(System.in);
        System.out.println( "Please write a sentence " );
        line = scan.nextLine();
        total=line.length(); //Gesamtanzahl an Zeichen des Satzes
        for (int counter=0; counter<total; counter++)
          letter = line.charAt(counter); //ermitteln des Buchstabens an einer bestimmten Position des Satzes
          switch (letter)
            case 'A': case 'a':
            case 'E': case 'e':
            case 'I': case 'i':
            case 'O': case 'o':
            case 'U': case 'u':
              countV++;
              break;
            case 'B': case 'b': case 'C': case 'c': case 'D': case 'd': case 'F': case 'f': case 'G': case 'g': case 'H': case 'h':
            case 'J': case 'j': case 'K': case 'k': case 'L': case 'l': case 'M': case 'm': case 'N': case 'n': case 'P': case 'p':
            case 'Q': case 'q': case 'R': case 'r': case 'S': case 's': case 'T': case 't': case 'V': case 'v': case 'W': case 'w':
            case 'X': case 'x': case 'Y': case 'y': case 'Z': case 'z':
              countC++;
              break;
            case ' ':
              countS++;
              break;
            case ',': case '.': case ':': case '!': case '?':
              countP++;
              break;
            case 'Ä': case 'ä': case 'Ö': case 'ö': case 'Ü': case 'ü':
              countU++;
              break;
        System.out.println( "Total amount of characters:\t" + total );
        System.out.println( "Number of consonants:\t\t" + countC );
        System.out.println( "Number of vocals:\t\t" + countV );
        System.out.println( "Number of umlauts:\t\t" + countU );
        System.out.println( "Number of spaces:\t\t" + countS );
        System.out.println( "Number of punctuation chars:\t" + countP );
    }

    WRE wrote:
    •In general I’m not very happy with this huge list of “cases”. How would you solve a problem like this? Is there a more convenient/elegant way?I've been doing this a lot lately myself evaluating documents with 20 or so million words. Few tips:
    1. Regular expressions can vastly reduce the list of cases. For example you can capture all letters from a to z or A to Z as follows [a-zA-Z]. To match a single character in a String you can then make use of the Pattern and Matcher classes, and incorporate the regular expression. e.g.
      //Un-compiled code, may contain errors.
      private Pattern letterPattern = Pattern.compile("[a-zA-Z]");
      public int countNumberOfLettersInString(final String string) {
        int count = 0;
        Matcher letterMatcher = letterPattern.matcher(string);
        while(letterMatcher.find()) {
          count++;
        return count;
      }2. As mentioned above, Sets are an excellent choice. Simply declare a static variable and instantiate it using a static initializer block. Then loop over the String to determine if the character is in the given set. e.g.
      //Un-compiled code, may contain errors.
      private static Set<Character> macrons = new HashSet<Character>();
      static {
        macrons.add('ä');
        macrons.add('ö');
        macrons.add('ü');
      public int countNumberOfMacronsInString(final String string) {
        int count = 0;
        for(char c : string.toCharArray()) {
          if(macrons.contains(c) {
            count++;
        return count;
      }Mel

Maybe you are looking for

  • How do I move Photos from PC to Macbook Pro

    Hello Just purchased LR 2 and a new Macbook Pro.  After two weeks, glad I did it, but its about to give me Brain overload.  I've read 4-5 books and watched a dozen videos. I just installed 2 Ext HDs and want to put my catalog, library on one Ext. HD

  • How can I add or change the Network I'D for the TouchPad?

    Most devices on a network have names for the device for one reason or another. This helps to distinguish between connected devices and the legitimacy thereof. So far I have been unable to add a Network ID to this TouchPad. With the Amazon Kindle Fire

  • Missing Playlists or Music ? Possible Solution

    Ocasionally Windows Media Center ( built into Vista/7 ) and WMP in XP ( rarely had it happen in XP ) updating ( even silently ) will corrupt the Permission Keys housing your music, it will be playable in MS software, but totally blocked in iTunes. Cl

  • Is it possible to mail merge images?

    Can you mail merge images from a Numbers spreadsheet into Pages instead of selecting an image from the media inspector?

  • Blend Overlay is not working in Safari over site's background image

    My message is concerning the website (below) called suspendedinsound.com. The blend mode, Overlay, is not working on several of my movie clips in the Safari browser. The Flash swf and html is published with a transparent background. I put a bg image