Ну да, сам по форумам недавно ходил с подобным вопросом, задай поиск - типа comm - море топиков было на форуме, и вот в итоге с этой темой я разобрался, написал кусок проги, далее всунул туда еще вот -что при пересылке вычислялась контрольная сумма пересылаемого блока (т.к. буфер имеет какойто размер), сначала отсылал текст, пришло сообщение - текст принят, потом контрольную сумму - ответ ОК (принята), контрольную сумму повторно (сверено, если одинаковы, проверяем контрольную сумму отправленного блока, если сходится - отправляем ОК), и шлем следующий блок. примеров в инете валом. По поводу контрольной суммы: '?????????? ??????????? ????? ?? ????????? CRC32 'am 030924 '??????? ?? ????????? ??????? ?? ?++ Option Explicit Private Declare Function timeGetTime Lib "winmm.dll" () As Long Private Declare Sub MemCopy Lib "kernel32" Alias _ "RtlMoveMemory" (dest As Any, src As Any, _ ByVal numbytes As Long) ' *************************************************** ' Table used by CRC Calculation Algorithm ' *************************************************** Private crctab32(0 To 255) As Long Private Sub Class_Initialize() '???????? ?????? crctab32(0) = &H0: crctab32(1) = &H77073096: crctab32(2) = &HEE0E612C: crctab32(3) = &H990951BA crctab32(4) = &H76DC419: crctab32(5) = &H706AF48F: crctab32(6) = &HE963A535: crctab32(7) = &H9E6495A3: crctab32(8) = &HEDB8832: crctab32(9) = &H79DCB8A4: crctab32(10) = &HE0D5E91E: crctab32(11) = &H97D2D988: crctab32(12) = &H9B64C2B: crctab32(13) = &H7EB17CBD: crctab32(14) = &HE7B82D07: crctab32(15) = &H90BF1D91: crctab32(16) = &H1DB71064: crctab32(17) = &H6AB020F2: crctab32(18) = &HF3B97148: crctab32(19) = &H84BE41DE: crctab32(20) = &H1ADAD47D: crctab32(21) = &H6DDDE4EB: crctab32(22) = &HF4D4B551: crctab32(23) = &H83D385C7: crctab32(24) = &H136C9856: crctab32(25) = &H646BA8C0: crctab32(26) = &HFD62F97A: crctab32(27) = &H8A65C9EC: crctab32(28) = &H14015C4F: crctab32(29) = &H63066CD9: crctab32(30) = &HFA0F3D63: crctab32(31) = &H8D080DF5: crctab32(32) = &H3B6E20C8: crctab32(33) = &H4C69105E: crctab32(34) = &HD56041E4: crctab32(35) = &HA2677172: crctab32(36) = &H3C03E4D1: crctab32(37) = &H4B04D447: crctab32(38) = &HD20D85FD: crctab32(39) = &HA50AB56B: crctab32(40) = &H35B5A8FA: crctab32(41) = &H42B2986C: crctab32(42) = &HDBBBC9D6: crctab32(43) = &HACBCF940: crctab32(44) = &H32D86CE3: crctab32(45) = &H45DF5C75: crctab32(46) = &HDCD60DCF: crctab32(47) = &HABD13D59: crctab32(48) = &H26D930AC: crctab32(49) = &H51DE003A: crctab32(50) = &HC8D75180: crctab32(51) = &HBFD06116: crctab32(52) = &H21B4F4B5: crctab32(53) = &H56B3C423: crctab32(54) = &HCFBA9599: crctab32(55) = &HB8BDA50F: crctab32(56) = &H2802B89E: crctab32(57) = &H5F058808: crctab32(58) = &HC60CD9B2: crctab32(59) = &HB10BE924: crctab32(60) = &H2F6F7C87: crctab32(61) = &H58684C11: crctab32(62) = &HC1611DAB: crctab32(63) = &HB6662D3D: crctab32(64) = &H76DC4190: crctab32(65) = &H1DB7106: crctab32(66) = &H98D220BC: crctab32(67) = &HEFD5102A: crctab32(68) = &H71B18589: crctab32(69) = &H6B6B51F: crctab32(70) = &H9FBFE4A5: crctab32(71) = &HE8B8D433: crctab32(72) = &H7807C9A2: crctab32(73) = &HF00F934: crctab32(74) = &H9609A88E: crctab32(75) = &HE10E9818: crctab32(76) = &H7F6A0DBB: crctab32(77) = &H86D3D2D: crctab32(78) = &H91646C97: crctab32(79) = &HE6635C01: crctab32(80) = &H6B6B51F4: crctab32(81) = &H1C6C6162: crctab32(82) = &H856530D8: crctab32(83) = &HF262004E: crctab32(84) = &H6C0695ED: crctab32(85) = &H1B01A57B: crctab32(86) = &H8208F4C1: crctab32(87) = &HF50FC457: crctab32(88) = &H65B0D9C6: crctab32(89) = &H12B7E950: crctab32(90) = &H8BBEB8EA: crctab32(91) = &HFCB9887C: crctab32(92) = &H62DD1DDF: crctab32(93) = &H15DA2D49: crctab32(94) = &H8CD37CF3: crctab32(95) = &HFBD44C65: crctab32(96) = &H4DB26158: crctab32(97) = &H3AB551CE: crctab32(98) = &HA3BC0074: crctab32(99) = &HD4BB30E2: crctab32(100) = &H4ADFA541: crctab32(101) = &H3DD895D7: crctab32(102) = &HA4D1C46D: crctab32(103) = &HD3D6F4FB: crctab32(104) = &H4369E96A: crctab32(105) = &H346ED9FC: crctab32(106) = &HAD678846: crctab32(107) = &HDA60B8D0: crctab32(108) = &H44042D73: crctab32(109) = &H33031DE5: crctab32(110) = &HAA0A4C5F: crctab32(111) = &HDD0D7CC9: crctab32(112) = &H5005713C: crctab32(113) = &H270241AA: crctab32(114) = &HBE0B1010: crctab32(115) = &HC90C2086: crctab32(116) = &H5768B525: crctab32(117) = &H206F85B3: crctab32(118) = &HB966D409: crctab32(119) = &HCE61E49F: crctab32(120) = &H5EDEF90E: crctab32(121) = &H29D9C998: crctab32(122) = &HB0D09822: crctab32(123) = &HC7D7A8B4: crctab32(124) = &H59B33D17: crctab32(125) = &H2EB40D81: crctab32(126) = &HB7BD5C3B: crctab32(127) = &HC0BA6CAD: crctab32(128) = &HEDB88320: crctab32(129) = &H9ABFB3B6: crctab32(130) = &H3B6E20C: crctab32(131) = &H74B1D29A: crctab32(132) = &HEAD54739: crctab32(133) = &H9DD277AF: crctab32(134) = &H4DB2615: crctab32(135) = &H73DC1683: crctab32(136) = &HE3630B12: crctab32(137) = &H94643B84: crctab32(138) = &HD6D6A3E: crctab32(139) = &H7A6A5AA8: crctab32(140) = &HE40ECF0B: crctab32(141) = &H9309FF9D: crctab32(142) = &HA00AE27: crctab32(143) = &H7D079EB1: crctab32(144) = &HF00F9344: crctab32(145) = &H8708A3D2: crctab32(146) = &H1E01F268: crctab32(147) = &H6906C2FE: crctab32(148) = &HF762575D: crctab32(149) = &H806567CB: crctab32(150) = &H196C3671: crctab32(151) = &H6E6B06E7: crctab32(152) = &HFED41B76: crctab32(153) = &H89D32BE0: crctab32(154) = &H10DA7A5A: crctab32(155) = &H67DD4ACC: crctab32(156) = &HF9B9DF6F: crctab32(157) = &H8EBEEFF9: crctab32(158) = &H17B7BE43: crctab32(159) = &H60B08ED5: crctab32(160) = &HD6D6A3E8: crctab32(161) = &HA1D1937E: crctab32(162) = &H38D8C2C4: crctab32(163) = &H4FDFF252: crctab32(164) = &HD1BB67F1: crctab32(165) = &HA6BC5767: crctab32(166) = &H3FB506DD: crctab32(167) = &H48B2364B: crctab32(168) = &HD80D2BDA: crctab32(169) = &HAF0A1B4C: crctab32(170) = &H36034AF6: crctab32(171) = &H41047A60: crctab32(172) = &HDF60EFC3: crctab32(173) = &HA867DF55: crctab32(174) = &H316E8EEF: crctab32(175) = &H4669BE79: crctab32(176) = &HCB61B38C: crctab32(177) = &HBC66831A: crctab32(178) = &H256FD2A0: crctab32(179) = &H5268E236: crctab32(180) = &HCC0C7795: crctab32(181) = &HBB0B4703: cr
Ответить
|