السلام عليكم ورحمة الله
هناك دالة ال CRC المستخدمة لاكتشاف الاخطاء
قد طلب منا ان نعمل client & server
بحيث اعطى لل client اى كلمة ولتكن ABC
فيقوم بحساب الCRC لها وارسال الناتج لل server ليتاكد انها وصلت دون اخطاء
وذلك بقسمة ما وصل له على p
عدد متفق عليه بين ال client & server
قد عملت client & server
وأفهم طريقة عمل ال CRC
ولكنى لا استطيع برمجتها لاستخدمها
بحثت على النت ولكنى وجدت الكثير من الدوال التى لم استطع تحديد ال p فيها
وهذه احداهم
class Crc {
public static final int HDLC_POLYNOMIAL = 0x8408;
public static void main(String [] astrArgs) {
try {
PrintWriter p = new PrintWriter(new FileOutputStream("CrcTable.java"));
Crc.writeTable(p);
p.close();
} catch ( Exception e ) {
System.err.println(e);
e.printStackTrace(System.err);
}
}
public static void writeTable(PrintWriter out) throws IOException {
out.println("public class CrcTable {");
out.print("\tpublic static short ayFcsTable[] = {");
int b;
int i;
int v;
for ( b = 0; ; ) {
if ( 0 == (b % 8) )
out.print("\n\t\t");
v = b;
for ( i = 8; i-- > 0; ) {
if ( 0 != (v & 1) ) {
v = (v >> 1) ^ HDLC_POLYNOMIAL;
} else {
v = v >> 1;
}
}
out.print("(short) " + (v & 0xFFFF));
if ( ++b == 256 )
break;
out.print(",\t");
}
out.println("\n\t};\n}");
}
}
ارجو ممن لديه الخبرة ان يخبرنى اين ممكن ان اجد كود للدالة بحيث اطبقها عند ال client & server
وجزاكم الله كل الخير