Limits on the size of the UDP packets

I can't receive packets UDP only larger than the size of 8192 bytes. I can receive packets that are lower (or equal) of 8192 bytes.

Also if a 8193 bytes packet is sent from the server not only make time trying to receive (i/o operation has expired), but I can't receive all the smaller packages later. It's like this big package breaks any subsequent extraction. I keep time after him. I tried to increase the timeout, but it doesn't help.

I was under the assumption that the limit of a UDP packet is 65507 (this is the output of datagramConnectionBase.getMaximumLength ()). Is there something that I am missing, or is this a limit?

Here is a snippet of the code I use:

private DatagramConnectionBase datagramConnectionBase;
private Datagram udpDatagram = null;
//Init UDP
String url = "datagram://:" + getConnectionSuffix();
datagramConnectionBase = (DatagramConnectionBase) Connector.open(url, Connector.READ_WRITE, true);

//Send UDP
String data = "HELLO UDP SERVER! [" + System.currentTimeMillis() + "]";
byte[] buffer = data.getBytes();

url = "datagram://" + txtHost.getText() + ":" + txtHostPort.getText() + getConnectionSuffix();
udpDatagram = datagramConnectionBase.newDatagram(buffer, data.length(), url);
datagramConnectionBase.send(udpDatagram);

In a thread:

datagramConnectionBase.setTimeout(1000);
udpDatagram = datagramConnectionBase.newDatagram(datagramConnectionBase.getMaximumLength());

datagramConnectionBase.receive(udpDatagram);
byte[] b = udpDatagram.getData();

logThis("Bytes: " + udpDatagram.getLength());

Just to close this message. In the end, I never found any official or unofficial word on the maximum UDP packet size.

The solution we have implemented was ventilation packets sent in 508 bytes and reassemble at destination. This seems to work great although it seems that there are times that the unit is being overwhelmed with packages it to drop some... but that's for another post.

Tags: BlackBerry Developers

Similar Questions

  • Help the analysis of UDP packets

    Hello, I am new to Labview and working on a program to read the UDP packets. I was looking at the example UDP receive Labview and read also older messages. The data consists of 1-Header Word (32 bits), 24-data words (each word is 32 - bits), and the rest of the data is data filling which is all zeros. Each package is the same size.  Far by the UDP Receiver.vi example I am able to receive the data and could probably push on with what I have, but I would like to know if there is an easier way to analyze a UDP data packet? I have read others who used a Cluster and the TypeCast but can't seem to make it work. When I try to connect to my Cluster until the TypeCast it wire goes to the dotted line.

    If anyone has any suggestions on the easiest ways to analyze a UPD packet please let me know.

    Thank you

    Joe


  • How to send UDP packets to multiple IP addresses

    I can see the full dissemination of forwarding UDP (IP value FFFFFFFF) but I do not see how to send the UDP packet even two or three specified multiple IP addresses.

    Is it still possible?

    Thank you

    Pawel says:

    The multicast would work with other receivers of udp (no-LabVIEW) operating in a mode normal unitcast? Or all networking needs receivers operate in multicast mode?

    Clients must join a multicast group in order for the multicast work. This essentially means that you tell the OS you want traffic received on a specific IP address (multicast groups are the IP addresses within a specific range) and on a specific network interface.

  • Is there a limitation in the size of the payload

    Hi all
    I would like to know if there is any limitation in the payload received in a BPEL/HTTP Post to 11.1.3 SOA process. Our customers say they can send big as payload of 5 MB. Will this be a problem on the side of SOA when the payload is received?
    Concerning
    SHY

    In SOA 10 g we have restrictions on the size of about 9 MB payload, but there is no constraint on the size of the payload in 11 g.

  • Limits of the skeleton L

    Hello

    I'm stumbling on the limits of the function of the skeleton, and IMHO, they are about size.

    Suppose I'm workign with a large image... 2048 * something.
    What I get from the skeleton L-function is

    (I know, skeleton lines are barely visible. What matters is the "block in the Middle"... aka skeleton function overflows)

    It's the same operation to the size of the image 600 * 355px (which isn't important in my humble OPINION)

    Only with a frame size of 230 x 160 or more, I'm getting a "real results".

    I'm not really happy with this behavior and lose a LOT of details here.

    I have two suspicions:
    one) somewhere, the data is stored in a U8...
    (b) IMAQ skeleton is probably derived from the thinning skeletonized, which in turn is probably based on the morphology of the IMAQ. IMAQ morphology begins to be unreliable after a 100 iterations of magic...

    Did someone of NO can give more information? I'll probably have to re - implement the whole thing... but I would like to at least know where / IF I can trust this algorithm to a certain particle size.

    Thank you
    B

    Just for anyone who actually search for the topic: I finished my own algorithm of skeleton. It works, there is no size limitation (beyond distances U16 ) and 84 x (upon my request) is as fast as the NOR one.

    https://decibel.NI.com/content/blogs/BP/2016/10/04/skeletons-in-NI-vision-or-lets-do-something-nicer

  • How to disable the UDP inspection

    Hello, I do a test for our new ASA prior to deployment. We use VeEX tester to generate the traffic of 10G. Unfortunately, this Tester is not taken in charge of traffic of layer 4 for 10G, all header UDP, etc. are part of DATA and only can fill in the template of 16 bytes (repeat a pattern fill). This causes the ASA to reject the packet with invalid length udp or invalid UDP port etc.. Is any cmd CLI can we use to disable the UDP checking and passing traffic couche3 directly? We would like to get the flow of basic performance data.

    Thanks in advance.

    Hi Gongyuan Yao,

    Maybe, you need to move your question to the Community ' security > firewall "since you ask for help on the configuration of the SAA.

    Best regards

    Roger

  • Why im getting this error: "ORA-22813: value of the operand exceeds the limits of the system.

    HI EXPERTS...

    Please helpme to fix this...

    I have a database of oracle 11g, runnint on a Windows Server 2008:

    Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production

    I have two tables:

    CREATE TABLE UTILS. SEG_ROLES

    (

    VARCHAR2 (12-BYTE) APPLICATION,

    ROL VARCHAR2 (12-BYTE),

    USERS VARCHAR2 (255 BYTE)

    )

    TOGETHER TO DEFINE

    Insert into SEG_ROLES (APPLICATION, ROL, USERS) Values ('MULTIPLAN', 'ADMIN', 'ADMIN');

    Insert into SEG_ROLES (APPLICATION, ROL, USERS) Values ("MULTICLIP", 'CAR01', 'PATY');

    Insert into SEG_ROLES (APPLICATION, ROL, USERS) Values ("MULTICLIP", "CAR02", "FABIOLA, ERIKA");

    Insert into SEG_ROLES (APPLICATION, ROL, USERS) Values ("MULTICLIP", "CON01', 'LUCY, PATY');

    Insert into SEG_ROLES (APPLICATION, ROL, USERS) Values ("MULTICLIP", 'CON02', 'VALERIA');

    COMMIT;

    CREATE TABLE UTILS. SEG_ACCESOS

    (

    VARCHAR2 (12-BYTE) APPLICATION,

    ADMROL VARCHAR2 (12-BYTE),

    VARCHAR2 (20 BYTE) MENU,

    OPCION VARCHAR2 (20 BYTE),

    TYPE VARCHAR2 (5 BYTE),

    OBJETO_MENU VARCHAR2 (40 BYTE),

    ACCESO VARCHAR2 (2 BYTE),

    ROLES_ACCESOS VARCHAR2 (255 BYTE)

    )

    TOGETHER TO DEFINE

    Insert into SEG_ACCESOS (APPLICATION, ADMROL, MENU, OPTION, TIPO, OBJETO_MENU, ACCESO, ROLES_ACCESOS)

    Values ("MULTICLIP", "ADMIN", "ROOMMA", NULL, am', 'm_coloca', the of ', 'CAR01, CAR02');

    Insert into SEG_ACCESOS (APPLICATION, ADMROL, MENU, OPTION, TIPO, OBJETO_MENU, ACCESO, ROLES_ACCESOS)

    Values ("MULTICLIP", "ADMIN", "PUT", "PREVALIDA", "SM", "sm_prevalida", the from ', 'CAR01, CAR02');

    Insert into SEG_ACCESOS (APPLICATION, ADMROL, MENU, OPTION, TIPO, OBJETO_MENU, ACCESO, ROLES_ACCESOS)

    Values ("MULTICLIP", "ADMIN", "PUT", "PRECOLOCA", "SM", "sm_preColocacion", the from ', 'CAR01, CAR02');

    Insert into SEG_ACCESOS (APPLICATION, ADMROL, MENU, OPTION, TIPO, OBJETO_MENU, ACCESO, ROLES_ACCESOS)

    Values ("MULTICLIP", 'ADMIN', 'LOVE', "COLOCACIÓN", "SM", "sm_colocacion", the from ', "CAR01");

    Insert into SEG_ACCESOS (APPLICATION, ADMROL, MENU, OPTION, TIPO, OBJETO_MENU, ACCESO, ROLES_ACCESOS)

    Values ("MULTICLIP", "ADMIN", "PUT", "REGCOLOCA", "SM", "sm_regcoloca", the from ', "CAR01");

    Insert into SEG_ACCESOS (APPLICATION, ADMROL, MENU, OPTION, TIPO, OBJETO_MENU, ACCESO, ROLES_ACCESOS)

    Values ("MULTICLIP", "ADMIN", "LDP", NULL, am', 'm_PLD', the of ', "CAR01, CAR02, CON01 CON02");

    Insert into SEG_ACCESOS (APPLICATION, ADMROL, MENU, OPTION, TIPO, OBJETO_MENU, ACCESO, ROLES_ACCESOS)

    Values ("MULTICLIP", "ADMIN", "LDP", "LN_CONSULTA", "SM", "sm_PLD_LNConsulta", the from ', 'CAR01, CAR02');

    Insert into SEG_ACCESOS (APPLICATION, ADMROL, MENU, OPTION, TIPO, OBJETO_MENU, ACCESO, ROLES_ACCESOS)

    Values ("MULTICLIP", "ADMIN", "LDP", "LN_BARRIDOMASIVO", "SM", "sm_PLD_LNBarridoMasivo", the from ', "CAR01");

    Insert into SEG_ACCESOS (APPLICATION, ADMROL, MENU, OPTION, TIPO, OBJETO_MENU, ACCESO, ROLES_ACCESOS)

    Values ("MULTICLIP", "ADMIN", "LDP", "REP_INICICLO", "SM", "sm_PLD_ReporIniciclo", the from ', 'CON01, CON02');

    Insert into SEG_ACCESOS (APPLICATION, ADMROL, MENU, OPTION, TIPO, OBJETO_MENU, ACCESO, ROLES_ACCESOS)

    Values ("MULTICLIP", "ADMIN", "LDP", "LN_BITACORA", "SM", "sm_PLD_LNBitacora", the from ', "CON01");

    COMMIT;

    - And this point of view:


    CREATE VIEW UTILS. VW_ROL_USER AS

    Select distinct APPLICATION, ROL, trim (column_value) USUARIO

    from (SELECT APPLICATION, ROL, USERS USER

    FROM UTILS. SEG_ROLES

    WHERE IT IS NOT NULL TO USERS

    ORDER BY APPLICATION, ROL

    ) t,.

    XMLTable ((' «' ||)) Replace (USER, ",", "",""). '"'))

    order by APPLICATION, ROL, trim (column_value)

    CREATE VIEW UTILS. VW_ACC_ROL AS

    Select distinct APPLICATION, ADMROL, MENU, OPTION, TIPO, OBJETO_MENU, ACCESO, trim (column_value) ROL

    (SELECT APPLICATION, ADMROL, MENU, OPTION, TIPO, OBJETO_MENU, ACCESO, ROLES_ACCESOS ROL

    FROM UTILS. SEG_ACCESOS

    WHERE ROLES_ACCESOS IS NOT NULL

    ORDER BY APPLICATION, ADMROL, MENU, OPTION

    ) t,.

    XMLTable ((' «' ||)) Replace (ROL, ",", "",""). '"'))

    MENU, TYPE, OPTION, APPLICATION control, trim (column_value)

    CREATE VIEW UTILS. VW_SEG_ACCESOS AS

    SELECT VACR. APPLICATION, VACR. MENU, VACR. TIPO, VACR. OPCION, VACR. OBJETO_MENU, VACR. ACCESO, VACR. ROL, VUSR. USUARIO

    FROM UTILS. VW_ACC_ROL VACR,

    UTILS. VW_ROL_USER VUSR

    WHERE VACR. ROL = VUSR. ROL

    ORDER OF VACR. APPLICATION, VACR. ROL, VACR. MENU, VUSR. USUARIO, VACR. TIPO, VACR. OPCION

    When I ask the last posting, it works fine:

    SELECT VSEG.* IN UTILS. VW_SEG_ACCESOS VSEG

    But when I add conditions:

    SELECT VSEG.* IN UTILS. VW_SEG_ACCESOS VSEG

    WHERE VSEG. APPLICATION = "MULTIPLAN.

    AND VSEG. USER = 'PATY '.

    It generates this error:

    ORA-22813: value of the operand is greater than the limits of the system

    Cause: The value of the object or the Collection was too big. The size of the value might have exceeded 30 k in a context of TYPE, or size may be too large for the available memory.

    Action: Choose a different value, and try the operation again.

    Why?

    Thanks in advance...

    Finally found a SOLUTION at: http://stackoverflow.com/questions/14328621/oracle-10g-splitting-string-into-multiple-rows

    just change the way we create the view using the regexp_substr.

    CREATE VIEW UTILS. VW_ROL_USER AS

    SELECT distinct trim APPLICATION, ROL, (regexp_substr (USERS, ' [^,] +', 1, level)) USER

    FROM UTILS. SEG_ROLES t

    WHERE IT IS NOT NULL TO USERS

    CONNECTION BY instr (USERS, ',', 1, level - 1) > 0

    order by APPLICATION, ROL

    Thank you all

  • Effects are limited to the framework including chart

    It's been a few years I used AE (CS4 was the latest version) and I'm having a problem I know, I didn't have before.  In other words, if I use an Illustrator or. JPG file, none of the effects will go outside the bounding box of chart (I specifically try to use "Burst") . I have watched and read several tutorials on the use of effects (think something is changed since the last time I used AE). The instructor used imported and specified graphics to do something special with them.  They just apply the effect to the chart and everything worked.  When I apply 'burst' to a shape layer it works very well (the form explodes outside the bounding box), so I know that I at least understand the basics.  I read a few posts that have the problem of duress with the text and the suggestion was beforehand comp, but this does not work for me. I also increased the radius of the effect, so he's well outside the chart encompassing (as in the screenshot below).  I am sure that there is a simple solution to this. but I can't understand it.  I adjusted (I think) what I can both the graphic and the effect.  So what don't understand me?

    Just so I'm clear, this issue is not just with "Shatter".  It is with all the effects I've tried ('Dispersion', 'Wave World', etc.).  It is for the Version AE 13.5.1.48 using Windows 10.

    After Effects Constrained.JPG

    There are many effects which are limited to the size of the layer. You can either compose before and add the effect, or you can add push the limits of the layer before the effect.

  • Limitation of the recipient

    Hello
    I use 11g with GNU / linux.
    When I schedule a report, I chose 20 recipients of users. (20 critics have the e-mail account).
    And I added manually the Mail 4 id

    the recipient of the message so total = 24

    Could you please let me know what is the limitation of the user recipient selection and manual mail ID users.

    Thank you
    Gram

    Hello

    It is about 5,000 users by default. (it is based on the Configuration of the LDAP server, you can also increase the size limit of the AD or set up several groups)

    Thank you
    Deva

  • How to move the ends of the lines slanted towards the limits of the purge

    Hi all

    I developed a script that deletes the page elements to the purge. To achieve this, that I collect all the elements of the page (with the exception of text blocks) located partially on the editing table, create a temporary mask and 'trim' with subtraction of Pathfinder function. However, this approach does not work with graphic lines so I'm trying to move the ends of the lines to the limits of the substantive area lost. (I guess these are simple straight lines consisting of two end points).

    screengrab.png

    I knew how to deal with orthogonal lines - it's pretty easy:

    if (theItem.constructor.name == "GraphicLine" && theItem.paths.length === 1) {
         path = theItem.paths[0];
         if (path.pathPoints.length === 2) {
              ep = path.entirePath;
              w = ep[1][0]-ep[0][0];
              h = ep[1][1]-ep[0 ][1];
              
              if (w > h) {
                   newEp = [ [ spreadWithBleedBounds[1], ep[0][1] ], [ spreadWithBleedBounds[3], ep[1][1] ] ];
                   path.entirePath = newEp;
              }
              else if (h > w) {
                   newEp = [ [ ep[0][0], spreadWithBleedBounds[0] ], [ ep[1][0], spreadWithBleedBounds[2] ] ];
                   path.entirePath = newEp;
              }
         }
    }
    

    This moves A1 - A2, B1 , B2, C1 , C2, D1 to D2.

    But how to treat skewed lines? How to calculate the coordinates of the point E2 and F2? Y at - it a magic formula? Or can someone point me to the right direction: for example a book to read?

    I assume this has something to do with geometry/trigonometry, but I haven't studied this kind of things at school. (I graduated from an art school - designed to draw naked models instead).

    If someone will answer my question, please do it on basic level since I'm a total noob in the present.

    Here's the script:

    if (Number(String(app.version).split(".")[0]) == 7) ErrorExit("This script can't work with InDesign CS5 so far.", true);
    
    var doc = app.activeDocument;
    var spreadBounds, spreadWithBleedBounds, gPartiallyOutOfSpreadItems;
    var ungroupErrors = 0;
    
    var originalHorUnits =  doc.viewPreferences.horizontalMeasurementUnits;
    var originalVerUnits =  doc.viewPreferences.verticalMeasurementUnits;
    doc.viewPreferences.horizontalMeasurementUnits = doc.viewPreferences.verticalMeasurementUnits = MeasurementUnits.INCHES;
    doc.viewPreferences.rulerOrigin = RulerOrigin.spreadOrigin;
    doc.zeroPoint = [0, 0];
    
    if (doc.layers.itemByName("Temporary Layer") == null ) {
         var tempLayer = doc.layers.add({name:"Temporary Layer"});
    }
    else {
         var tempLayer = doc.layers.itemByName("Temporary Layer");
    }
    
    UngroupAllGroups(doc.groups);
    
    DeleteObjectsOnPasteboard();
    ProcessSpreads(doc.spreads);
    ProcessSpreads(doc.masterSpreads);
    
    tempLayer.remove();
    
    doc.viewPreferences.horizontalMeasurementUnits = originalHorUnits;
    doc.viewPreferences.verticalMeasurementUnits = originalVerUnits;
    
    var msg = (ungroupErrors > 0) ? " Failed to ungroup " + ungroupErrors + " groups since they are too large." : "";
    alert("Done." + msg, "Trim Pages Script");
    
    //================================== FUNCTONS ===========================================
    function ProcessSpreads(spreads) {
         var spread, path, ep, w, h;
         for (var s = 0; s < spreads.length; s++) {
              spread = spreads[s];
              spreadBounds = GetSpreadBound(spread, false);
              spreadWithBleedBounds = GetSpreadBound(spread, true);
              
              gPartiallyOutOfSpreadItems = GetPartiallyOutOfSpreadItems(spread);
              
              var theItem, theMask, newItem;
              for (var i = gPartiallyOutOfSpreadItems.length-1; i >= 0; i--) {
                   theItem = gPartiallyOutOfSpreadItems[i];
                   if (theItem.constructor.name == "GraphicLine" && theItem.paths.length === 1) {
                        path = theItem.paths[0];
                        if (path.pathPoints.length === 2) {
                             ep = path.entirePath;
                             w = ep[1][0]-ep[0][0];
                             h = ep[1][1]-ep[0 ][1];
                             
                             if (w > h) {
                                  newEp = [ [ spreadWithBleedBounds[1], ep[0][1] ], [ spreadWithBleedBounds[3], ep[1][1] ] ];
                                  path.entirePath = newEp;
                             }
                             else if (h > w) {
                                  newEp = [ [ ep[0][0], spreadWithBleedBounds[0] ], [ ep[1][0], spreadWithBleedBounds[2] ] ];
                                  path.entirePath = newEp;
                             }
                        }
                   }
                   else {
                        theMask = CreateMask(spread);
                        try {
                             newItem = theMask.subtractPath(theItem);
                        }
                        catch (err) {
                             $.writeln("2 - " + err);
                             theMask.remove();
                        }
                   }
              }
         }
    }
    //--------------------------------------------------------------------------------------------------------------
    function IsPartiallyOutOfSpread(pageItem) {
         var result = false;
         if (pageItem.constructor.name == "TextFrame" ||
              pageItem.constructor.name == "Group" ||
              pageItem.parent.constructor.name == "Group")
         {
              return result;
         }
    
         var visBounds = pageItem.visibleBounds;
         if (visBounds[0] < spreadBounds[0] && visBounds[2] > spreadBounds[0] ||
              visBounds[1] < spreadBounds[1] && visBounds[3] > spreadBounds[1] ||
              visBounds[2] > spreadBounds[2] && visBounds[0] < spreadBounds[2] ||
              visBounds[3] > spreadBounds[3] && visBounds[1] < spreadBounds[3]  ) {
              result = true;
         }
         return result;
    }
    //--------------------------------------------------------------------------------------------------------------
    function GetSpreadBound(spread, bleed) { // including bleed -boolean
         if (bleed == undefined) bleed = false;
         
         with (doc.documentPreferences) {
              var topBleed = documentBleedTopOffset
              var leftBleed = documentBleedInsideOrLeftOffset;
              var bottomBleed = documentBleedBottomOffset;
              var rightBleed = documentBleedOutsideOrRightOffset;
         }
    
         var bFirst = spread.pages.item(0).bounds; // bounds of the first page
         var bLast = spread.pages.item(-1).bounds; // bounds of the last page
         return [     ((bleed) ? bFirst[0]-topBleed : bFirst[0]), 
                        ((bleed) ? bFirst[1]-leftBleed : bFirst[1]), 
                        ((bleed) ? bLast[2]+bottomBleed : bFirst[2]), 
                        ((bleed) ? bLast[3]+rightBleed : bLast[3])
                        ];
    }
    //--------------------------------------------------------------------------------------------------------------
    function CreateMask(spread) {
         var unitValue = new UnitValue (app.pasteboardPreferences.minimumSpaceAboveAndBelow, "mm");
         var unitValueAsInch = unitValue.as("in");
         var outerRectangleBounds = [spreadWithBleedBounds[0]-unitValueAsInch, 
                                                                spreadWithBleedBounds[1]-8.07, 
                                                                spreadWithBleedBounds[2]+unitValueAsInch, 
                                                                spreadWithBleedBounds[3]+8.07
                                                                ]; 
    
         var outerRectangle = spread.rectangles.add(tempLayer, undefined, undefined, {geometricBounds:outerRectangleBounds});
         var innerRectangle = spread.rectangles.add(tempLayer, undefined, undefined, {geometricBounds:spreadWithBleedBounds, fillColor:doc.swatches.item("Black"), fillTint:30});
         var mask = outerRectangle.excludeOverlapPath(innerRectangle);
         return mask;
    }
    //--------------------------------------------------------------------------------------------------------------
    function GetPartiallyOutOfSpreadItems(spread) {
         var allPageItems = spread.allPageItems;
         var partiallyOutOfSpreadItems = [];
         var currentItem;
         
         for (var i = 0; i < allPageItems.length; i++) {
              currentItem = allPageItems[i];
              if (IsPartiallyOutOfSpread(currentItem)) partiallyOutOfSpreadItems.push(currentItem);
         }
         
         return partiallyOutOfSpreadItems;
    }
    //--------------------------------------------------------------------------------------------------------------
    function DeleteObjectsOnPasteboard() {
         var objs = app.documents[0].pageItems.everyItem().getElements();
         while (obj=objs.pop()) {
              try {
                   if(obj.parent instanceof Spread || obj.parent instanceof MasterSpread){ obj.remove() }
              }
              catch(err) {
                   //$.writeln("2 - " + err);
              }
         }
    }
    //--------------------------------------------------------------------------------------------------------------
    function ErrorExit(myMessage, myIcon) {
         alert(myMessage, "Trim Pages Script", myIcon);
         exit();
    }
    //--------------------------------------------------------------------------------------------------------------
    function UngroupAllGroups(groups) {
         for (var i = groups.length-1; i >= 0; i--) {
              var gr = groups[i];
              if (gr.groups.length > 0) {
                   var subGroups = [];
                   for (var j = gr.groups.length-1; j >= 0; j--) {
                        subGroups.push(gr.groups[j].id);
                   }                    
                   try {
                        gr.ungroup();
                   }
                   catch(err) {
                        //$.writeln("1 - " + err);
                        ungroupErrors++;
                   }
              
                   for (var k = subGroups.length-1; k >= 0; k--) {
                        try {
                             doc.groups.itemByID(subGroups[k]).ungroup();
                        }
                        catch(err) {
                             //$.writeln("2 - " + err);
                             ungroupErrors++;
                        }
                   }
              }
              else {
                   try {
                        gr.ungroup();
                   }
                   catch(err) {
                        //$.writeln("1 - " + err);
                        ungroupErrors++;
                   }
              }
         }     
    }
    //--------------------------------------------------------------------------------------------------------------

    Thanks in advance.

    Kasyan

    Hi Kasyan!

    I was not trying to integrate this into your script, so you may need to adjust a little. The trick is to define a function that detects the point of intersection of two lines - and, of course, you must call it for lines that will not fail to cross the border of the page! (Otherwise, it would simply expand * any * the line upward and on the border.)

    I think it would be wise to predict a small mistake for lines that seem to run "up to" the edge of the page - I tested a line for 'x '.<= 0"="" on="" a="" line="" that="" appeared="" to="" start="" on="" 0;="" the="" control="" panel="" told="" me="" so.="" however,="" i="" didn't="" type="" that="" 0="" in;="" i="" dragged="" the="" line="" to="" the="" edge.="" apparently,="" it="" was="" *not*="" at="" precisely="" "0mm",="" but="" something="" like="" "0.001mm",="" because="" the="" script="" simply="" didn't="" "see"="" the="">

    My function comes from this page: http://local.wasp.uwa.edu.au/~pbourke/geometry/lineline2d/ and I did not test it does of orthogonal lines

    (but of course, you could add this in exceptional cases), and it's my script extending the line, with a small wrapper to configure things.

    The function tests * any * tail against * any * other line, so if we meet the page bounding box, I get the intersection with the purge of the side area where it crosses the bbox page.

    line = app.selection[0];
    // pg size in "regular" [y1,x1, y2,x2] format
    pagebbox = [0,0, app.activeDocument.documentPreferences.pageHeight,app.activeDocument.documentPreferences.pageWidth ];
    bleedDist = 5; //
    bleedbbox = [ pagebbox[0] - bleedDist, pagebbox[1] - bleedDist, pagebbox[2] + bleedDist, pagebbox[3] + bleedDist ];
    pt1 = line.paths[0].pathPoints[0].anchor;
    pt2 = line.paths[0].pathPoints.lastItem().anchor;
    // Start point:
    if (pt1[0] <= pagebbox[1] || pt1[0] >= pagebbox[3] ||
     pt1[1] <= pagebbox[0] || pt1[1] >= pagebbox[2])
    {
     if (pt1[0] <= pagebbox[1])
      intersectPt = IntersectionPt ( [pt1, pt2], [ [ bleedbbox[1], bleedbbox[0]], [bleedbbox[1], bleedbbox[2] ] ] );
    
     if (pt1[0] >= pagebbox[3])
      intersectPt = IntersectionPt ( [pt1, pt2], [ [ bleedbbox[3], bleedbbox[0]], [bleedbbox[3], bleedbbox[2] ] ] );
    
     if (pt1[1] <= pagebbox[0])
      intersectPt = IntersectionPt ( [pt1, pt2], [ [ bleedbbox[1], bleedbbox[0]], [bleedbbox[3], bleedbbox[0] ] ] );
     if (pt1[1] >= pagebbox[2])
      intersectPt = IntersectionPt ( [pt1, pt2], [ [ bleedbbox[1], bleedbbox[2]], [bleedbbox[3], bleedbbox[2] ] ] );
     line.paths[0].pathPoints[0].anchor = intersectPt;
    }
    // End point:
    if (pt2[0] <= pagebbox[1] || pt2[0] >= pagebbox[3] ||
     pt2[1] <= pagebbox[0] || pt2[1] >= pagebbox[2])
    {
     if (pt2[0] <= pagebbox[1])
      intersectPt = IntersectionPt ( [pt1, pt2], [ [ bleedbbox[1], bleedbbox[0]], [bleedbbox[1], bleedbbox[2] ] ] );
    
     if (pt2[0] >= pagebbox[3])
      intersectPt = IntersectionPt ( [pt1, pt2], [ [ bleedbbox[3], bleedbbox[0]], [bleedbbox[3], bleedbbox[2] ] ] );
    
     if (pt2[1] <= pagebbox[0])
      intersectPt = IntersectionPt ( [pt1, pt2], [ [ bleedbbox[1], bleedbbox[0]], [bleedbbox[3], bleedbbox[0] ] ] );
     if (pt2[1] >= pagebbox[2])
      intersectPt = IntersectionPt ( [pt1, pt2], [ [ bleedbbox[1], bleedbbox[2]], [bleedbbox[3], bleedbbox[2] ] ] );
     line.paths[0].pathPoints.lastItem().anchor = intersectPt;
    }
    
    function IntersectionPt (ln1, ln2)
    {
     var ua;
     var x1 = ln1[0][0], x2 = ln1[1][0], x3 = ln2[0][0], x4 = ln2[1][0];
     var y1 = ln1[0][1], y2 = ln1[1][1], y3 = ln2[0][1], y4 = ln2[1][1];
     ua = ((x4 - x3)*(y1 - y3) - (y4 - y3)*(x1 - x3))/((y4 - y3)*(x2 - x1) - (x4 - x3)*(y2 - y1));
    
     return [ x1 + ua*(x2-x1), y1 + ua*(y2-y1) ];
    }
    
  • Limitation on the number of components adf on a jsp page?

    I am currently working on a page that includes a number of components of af: table with the underlying components of af: column for each table. The page also contains other components of the adf. My question is as stated above, is there a limitation on the number of adf components that are allowed on a page and if so what is it?

    I found that I had page errors can be solved by reducing the number of components. For example, deleting components of af: objectspacer I'm able to include components of af: column that caused the page to fail.

    Any information would be appreciated.

    Thank you.

    What version are you on?

    We faced a similar problem in 10g. The project does not compile after that jspx exceeds a certain size.

    It is due to the restriction of code_length java class file, it cannot be greater than 64 k.

    Check this thread for detailed explanation and workaround {: identifier of the thread = 361086}

    We have been working around the issue by breaking large page in multi-page and that refer to using the home page:



    Mitesh.

  • Is it possible to ban the Winsock Packet Editor of workin on your browser other players using this program to interfere with a game of wendrefull by using your web browser on forfox

    OK I play yoville and people use your web browser to the Winsock Packet Editor Pro program and whenever I try to take advantage of by some stupid zynga yoville uses your web browser to make aditor package winsock to unplug my player im so sick of this shit I'm working all day I exspect to come yo and enjoy my game not for some fool to use your web browser to do a work program and disconnect my Player with access to cdata people can also use wpe to enter other account with any password or username is it possible to stop this work programme in your browser to stop these hackers of compromising accounts and ruin the fun of games zynga Ty for your kind support and I hope that you can help stop this program work on your browser and different game browsers would be better for all

    If you are meaning http://wpepro.net, this tool does not use Firefox in the slightest. It uses the TCP/IP (part of Windows) Protocol to monitor networks (it can also be used negative).

    Please update your Firefox Firefox 11, because the version you use is vulnerable to many known security vulnerabilities. After you do this, try to see if your problem is still ongoing.

  • HP Z600: What processors am I limited with the hpz600 workstation?

    Hi, I have a HP Z600 that I bought refurbished. The vehicle currently has 2 x Xeon X 5560 2.8 cpus.

    I am struck with this configuration cpu load limit (I run the intensive 3d modeling software), and I want to improve.

    Am I limited with the motherboard on these workstations?

    Which processors that you would recommend? (I looking for a quite intensive help and have a few hundred dollars to spend).

    Thank you!

    anti1, older versions of the Z600 support microprocessors Intel 55xx only, later versions support as 55xx 56xx CPUs.  The best way to determine this is to boot the system, enter the BIOS F10 setup and look at the date of starting block.

    If the boot block date is 03/01/2009, the system supports the 55xx only processors.

    If the block start date is 07/01/2010, the system supports processors 55xx both 56xx.

    -C' is the block of start date, not the date of the version of the BIOS.

    -There is no way to update the boot block.  (There are several discussions in this forum about this)

    If your system has the block to start later, upgrade to a 6 core CPU 56xx will give best performance.  I think that the frequency of the processor 6 c is 3.47 GHz, although there is a 4 processor 3.6 GHz.  Your application supports multiple cores?

    To get an idea of any increase in performance, look at the reference site of CPU of the pass mark for the top processors of range, here.

    Based on these landmarks (I know, they are markers without real object numbers), you could get about 70% performance increase by using a X 5690 6 3.47 GHz CPU core.  Is it enough for your application?

  • I lost the code for the option menu 'limitations' of the iPhone 4, how can you do then? so I can come and factory reset, it is a 4 digit code, so I can be able toexample factory reset the phone, don't know if this is the right forum for my question but

    I lost the code for the option menu 'limitations' of the iPhone 4, how can you do then? so I can come and factory reset, it is a 4 digit code, so I can be able toexample factory reset the phone, don't know if this is the right forum for my question but

    Sorry, but the restriction password cannot be reset, it is part of the backup and restore a backup that was taken after the restrictions were activated, restore this code again.

    You will have to start without the help of the data backup, configure the phone to factory settings and start over. Follow the steps mentioned in this article:

    Use iTunes to restore your device to factory settings - Support Apple iOS

    If you lose or forget your password restriction, you must erase your device and then put it up as a new device to remove the restriction password. Restore the device by using a backup does not delete the access code.

    copied from: Sur les Restrictions (parental control) on iPhone, iPad and iPod touch - Apple Support

  • Engine step doesn't fail before reaching its physical limits for the sinusoidal movement

    Hello

    My ultimate goal is to skip a XY (via 2 linear actuators) in a circular motion (radius of 0.47 ") at a frequency of 1 Hz. I run the example VI 'Demo circle' which received my copy of LabView, version 9.0.

    The problem I encounter is that given the physical limitations of the engine and the drive motor, the task should technically be feasible (see calculation *). However, even when the engines are completely discharged (no not attached to anything whatsoever), they start missing steps away from my final goal. I'm only able to reach a radius of 0.2 "(vitesse de pointe de 1.25" / seconde). "

    My question; Is the system set up incorrectly or is my final goal unrealistic, given performance reductions inevitable due to software/hardware?

    I apologize for the naivety of this question, but if there is any information that you may provide which might shed some light on this problem, I would be very happy.

    Possible theories:

    Torque is decreased more at high speeds because of microstep

    A closed loop system would improve performance at high speed

    The VI 'Demo circle' is not the best method to create a circle

    The acceleration is the limiting factor, not speed

    * RADIUS = 0.47 "

    Maximum speed = (RADIUS * 2 * pi) * cos(2 * pi)

    Maximum speed = 2.9 "/ second"

    System:

    LabView v9.0

    PCI-7340

    open loop configuration

    MID-7604

    1 4 a per axis

    10 micro steps

    Linear actuator (form is attached)

    NEMA 17 ordered by motor (sold by ultra-motion).

    Maximum speed of 3.3 inches per second

    1. 2A voltage coil

    1.8º step angle

    Kind regards

    Nick

    Nick-

    I really wonder the max speed in the datasheet.  0,0833 "/ to 3.3" rev / s = about 40RPS (2400 RPM), which is extremely fast for a motor, especially at 24VDC.  Know exactly what engine is on the cylinder and go to www.applied-motion.com and you should be able to find curves of torque for that or a similar engine with various readers.  You will see that couple to 24VDC curves are not good.  In addition, ask Ultramotion if their speed/strength curve is theoretical, or tests have been conducted.

Maybe you are looking for

  • print report to iTunes format

    How to print a report of songs in something other than iTunes xml?  I can print to PDF and have Adobe trying to rock, but I want it in an Excel spreadsheet.  And Excel for Mac does not have xml as a data source option.  And, no, I don't want to go to

  • I don't have a desktop computer. What are my options, or do I have everything?

    What are my options to use fire fox without going through your desktop of myself?

  • Vibration of hard disk

    I have vibration problems, which I believe is the hard drive.  Here is my configuration: By the end of 2011 Macbook Pro 15 " Core i7 2.2 GHz 12 GB Kingston 1333 MHz DDR3 RAM (4 x 1, 8 x 1) 128 GB SSD Relocated Original 500 GB 5400 RPM hard drive to t

  • Windows Movie Maker

    Windows Movie Maker keeps freezing on me ALL THE TIME! is anyway to fix this? do I have to re download? Thank you!!

  • Re-installation of operating system could not and cannot start the current operating system?

    OK to start, im using xp, I wanted to reinstall xp using the dvd I got with it. then I ran xp and has not clicked upgrade, instead I clicked on new installation. after it is finished, restart the pc and I went to the configuration screen. I went stra