spm ang. netværkspakke
Jeg skal sende nogen beskeder til clienter i mit program over internettet til det har jeg valgt at bruge TCP/IP og dele data strømmen op i pakker.pakkerne består af en header og et indhold som skal svarer overens med headerens information.
struct sPacketHeader {
byte typeid; //fortæller os hvilken type pakken er af
byte lenght; //indholdets længde, bemærk max 256 i længde
byte checksum; //checksum af pakke indhold, jeg vil gerne spare båndbredde derfor 1 byte lang.
};
Mit spørgsmål lyder så på følgende:
1. er der nogen som kan en metode til at regne en 1 byte's checksum ud på? eller vil det være klogerer at benytte en anden/større variabel til at holde en checksum ?
2. er der nogen som har et forklag til en smuk løsning hvor man kan behandle den inkomne datafra en data strøm? Indtil viderer så har har jeg en metode som er meget lang og som ser ud alà:
void processPacket(packetheader hdr, packetcontext ctx) {
if(hdr.typeid == 1) {
gør et eller andet
}
if(hdr.typeid == 2) {
gør et eller andet
}
osv.osv.osv....
}
denne metode kommer desværre til at se forfærdentlig land ud, er der nogen som har en mere objekt orienteret metode til at gøre det på så ville jeg meget gerne høre om det.
vh
- Kristian