Archief - [PROG][JAVA]->[PHP] Converteren van Java functie naar PHP

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

JohnBeton

Legacy Member
Hi,
ik zit met een vervelend probleem. Onderstaande functie zou naar PHP moeten veranderd worden. Echter, door mijn beperkte JAVA kennis wil het niet zo vlotten..

Deze functie komt uit een JAVA-klasse die M-JPEG streams van een webcamera haalt.

Kan iemand me hierbij assisteren?
Alvast bedankt!
Code:
    public void getdata()
    {
        try
        {
            System.out.println("sock: " + sock);
            pw = new PrintWriter(sock.getOutputStream(), true);
            pw.println("0110");
            is = sock.getInputStream();
            counter = 0;
            sizecounter = 0;
            for(s1 = Integer.toBinaryString(is.read()); s1.length() < 8; s1 = '0' + s1);
            for(s2 = Integer.toBinaryString(is.read()); s2.length() < 8; s2 = '0' + s2);
            s2 = s1 + s2;
            sizecounter = Integer.parseInt(s2, 2);
            if(sizecounter > 0)
            {
                if(fpsincflagchecker == 1 && presizecounter != sizecounter)
                    fpsincflag = 1;
                presizecounter = sizecounter;
                byte_image = new byte[sizecounter];
            }
            s3 = Integer.toBinaryString(is.read());
            j1 = Integer.parseInt(s3, 2);
            s4 = Integer.toBinaryString(is.read());
            j2 = Integer.parseInt(s4, 2);
            length = sizecounter;
            start = 0;
            do
            {
                if(start >= sizecounter - 1)
                    break;
                len0 = is.read(byte_image, start, length);
                if(len0 != 0)
                {
                    start = len0 + start;
                    length = length - len0;
                }
            } while(true);
            if(j2 == 0)
                break MISSING_BLOCK_LABEL_619;
            pw.close();
            sock.close();
            Container container;
            for(container = getParent(); !(container instanceof Frame); container = container.getParent());
            Frame parent1 = (Frame)container;
            Dialog d1 = new YesNoDialog(parent1, "Too many users! Please try later.");
            d1.show();
            if(sint == 0)
            {
                pw.close();
                sock.close();
                int mark1 = 0;
                do
                {
                    mark1 = 0;
                    try
                    {
                        sock = new Socket(ip, port);
                    }
                    catch(Throwable e)
                    {
                        for(Container container1 = getParent(); !(container1 instanceof Frame); container1 = container1.getParent());
                        Frame parent2 = (Frame)container;
                        Dialog d2 = new YesDialog(parent2, "Video connection to camera failed.Please try again.");
                        d2.show();
                        try
                        {
                            clockThread;
                            Thread.sleep(2000L);
                        }
                        catch(Exception ee) { }
                        mark1 = 1;
                    }
                } while(mark1 == 1);
                mark1 = 0;
                return;
            }
        }
        catch(Throwable e)
        {
            e.printStackTrace();
            pw = null;
            is = null;
            System.gc();
            return;
        }
        if(sint == 1)
        {
            clockThread;
            Thread.sleep(0x4c4b40L);
        }
        if(sizecounter == 0)
            break MISSING_BLOCK_LABEL_990;
        if(frames1 != 0);
        Toolkit tk = Toolkit.getDefaultToolkit();
        mImage = tk.createImage(byte_image, 0, sizecounter);
        imageTracker = new MediaTracker(this);
        tk = null;
        byte_image = null;
        imageTracker.addImage(mImage, frames1);
        imageTracker.waitForID(frames1);
        t1 = System.currentTimeMillis();
        before_width = mImage.getWidth(this);
        before_height = mImage.getHeight(this);
        if(before_width == -1 || before_height == -1)
            return;
        if(w != before_width || h != before_height)
            fresh_flag = 1;
        w = before_width;
        h = before_height;
        Buffer = createImage(before_width, before_height);
        gBuffer = Buffer.getGraphics();
        Graphics g = getGraphics();
        paint(g, mImage);
        g = null;
        imageTracker = null;
        System.gc();
        if(fpsincflagchecker == 1)
        {
            if(fpsincflag == 1)
            {
                frames1++;
                frames++;
                fpsincflag = 0;
            }
        } else
        {
            frames1++;
            frames++;
        }
        elapsetime = t1 - t0;
        if(elapsetime > 5000L)
        {
            fps = (1000D * (double)frames) / (double)elapsetime;
            if(fps < 30D)
                fps = fps + 1.0D;
            t0 = t1;
            frames = 0;
            empty = 2;
        }
        break MISSING_BLOCK_LABEL_1001;
        clockThread;
        Thread.sleep(23L);
    }
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan