Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Bestätigung für Contact ID Meldung
25-07-2017, 20:24
Beitrag: #15
RE: Bestätigung für Contact ID Meldung
Falls auch mal jemand sowas in java machen möchte, hier mal eine Testklasse.
Code:
package de.cid;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class CIDTestServer {

    // Start des Testservers auf Port 8090
    public static void main(String[] args) throws IOException {
        CIDServer server = new CIDServer();
        server.start(8090);
    }

    public void start(int port) throws IOException {
        ServerSocket server = new ServerSocket(port);
        while (true) {
            try {
                Socket client = server.accept();
                CIDClient cidClient = new CIDClient(client);
                Thread th = new Thread(cidClient);
                th.start();
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
            }
        }
    }
    
    class CIDClient implements Runnable {
        Socket client;
        OutputStream out;
        InputStream in;
        CID cid;

        public CIDClient(Socket client) throws IOException {
            this.client = client;
            this.client.setTcpNoDelay(true);
            out = client.getOutputStream();
            in=client.getInputStream();
        }

        @Override
        public void run() {
            try {
                StringBuilder sb=new StringBuilder();
                while (client.isConnected()) {
                    int c=in.read();
                    if (c==-1)
                        break;
                    sb.append((char)c);
                    if ((char)c==']') {
                        // ACK als Bestätigung zurück schreiben
                        out.write(6);
                        cid=new CID(sb.toString());                        
                        System.out.println("CID: "+sb.toString());
                        sb=new StringBuilder();
                    }        
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }    
    
    class CID {
        Pattern pattern = Pattern.compile("(\\[(\\d{4})(\\s)([1][8])([123])([0-9a-fA-F]{3})([012]{2})(\\d{3}).*\\])");
        private String acct;
        private String mt;
        private String q;
        private String xyz;
        private String gg;
        private String c1;
        
        public CID(String msg) {
            parse(msg);
        }
        
        public void parse(String msg) {
            Matcher matcher = pattern.matcher(msg);
            if (matcher.matches() && matcher.groupCount()==8) {
                // ACCT MT QXYZ GG C1 C2 C3
                acct=matcher.group(2);
                mt=matcher.group(4);
                q=matcher.group(5);
                xyz=matcher.group(6);
                gg=matcher.group(7);
                c1=matcher.group(8);
            }        
        }
    }
    
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Nachrichten in diesem Thema
RE: Bestätigung für Contact ID Meldung - keloba - 25-07-2017 20:24

Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Keine Push-Meldung nach Update (Android) Hano217 12 6.937 26-08-2019 18:10
Letzter Beitrag: Rudi Ratlos
  Abschaltung der "Update-Meldung" Hano217 1 3.064 23-05-2019 21:48
Letzter Beitrag: bastelheini
  SIA und Contact ID Server Schmupu 2 7.463 28-02-2019 15:42
Letzter Beitrag: Schmupu
  Akustische Meldung, wenn Tür mehr als X Sekunden offen ist and_go 8 5.319 31-10-2018 20:45
Letzter Beitrag: Fraggle
  Meldung bei falscher PIN fuchsbau 3 3.208 01-08-2018 14:35
Letzter Beitrag: fuchsbau
  Erfahrungen Contact-ID CID/SIA lupususer 0 3.804 25-07-2017 07:59
Letzter Beitrag: lupususer
  AWAG, AWUG ... Contact ID für Alarmaufschaltung justasimpleguy 3 3.898 09-03-2017 12:30
Letzter Beitrag: noby2104
smile Meldung von offenen Türen oder Fenstern bei Unscharf-Schaltung alarmwolf 10 5.083 23-02-2017 10:23
Letzter Beitrag: Xaavier
  Batterie Lebensdauer nach Leer Meldung Ratloser 4 3.830 08-11-2016 16:44
Letzter Beitrag: Ratloser
  Öffnen / Schließen eines Türkontaktes als Meldung via CONTACT-ID verschicken der_heimerker 18 13.319 01-05-2016 21:18
Letzter Beitrag: der_heimerker



Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste