BG Development


Страници: (154) [1] 2 3 ... последна »

thrawn Публикувана на: 26-06-2026, 18:39

Мнения: 49
Преглеждания: 1437
Това звучи като хардуерна синхронизация (при 232). Директното изпращане/получаване на данни не би трябвало да вдига/сваля RTS а освен ако не си го задал в конфигурацията на порта. Ако е активирано, ще се чака CTS за да се изпрати нещо.

Това ще изисква и комуникационния кабел да поддържа хардуерната синхронизация. Ако сте сменили кабелът, а комуникацията изисква хардуерна синхронизация ще получаваш точно такива забивания.
  Форум: Разни  ·  Преглед: #503982

thrawn Публикувана на: 23-06-2026, 05:46

Мнения: 49
Преглеждания: 1437
Мен такива неща много ме дразнят. Имаш ватиант, преди да попълниш списъкът да провериш всеки порт който ти връща библиотеката дали е свързан физически с устройство (четеш /sys/class/tty/ за всеки обект от списъкът и гледаш неговия тип).
  Форум: Разни  ·  Преглед: #503972

thrawn Публикувана на: 22-06-2026, 20:57

Мнения: 49
Преглеждания: 1437
Имаш всичките 32 устройства icon_smile.gif
Библиотеката коиято използваш не е направена коректно и ги извежда директно, без да проверява дали наистина са налични или не. Или я преправи, или си напиши твоя която да извежда коректно списък с наличните портове.
  Форум: Разни  ·  Преглед: #503969

thrawn Публикувана на: 21-06-2026, 14:48

Мнения: 49
Преглеждания: 1437
Е то е това де. Тези флашове са само за този чип. Когато му подадеш команда, той си пише в паметта (ако има такава) иначе използва фабричните записи от ROM паметта си. Това няма отношение към контролера на устройството.
При контролерите с вграден usb (примерът на ici от предната страница) всичко се прави на ниво приложение (тогава всички подобни идентификатори заемат място в паметта на контролера, освен ако умишлено не се постави външна памет в която да се трупат такива неща).

От тук вече е въпрос на желание да се включат команди за промяна на идентификаторите. В много устройства има скрити jtag или uart портове по платките които се използват за дебъгване и препрограмиране. Също тка има трикове с бут лодерите на контролерите които позволяват да ги стртираш в "сервизен режим" в който евентуално да пипаш на места недостъпни за писане от основното приложение.

---
На това ниво съм любител, така че, ако има неточности, хората които се занимават с това ще ме поправят.
  Форум: Разни  ·  Преглед: #503964

thrawn Публикувана на: 21-06-2026, 14:29

Мнения: 49
Преглеждания: 1437
Представи си, че имаш две еднакви устройства (без серирн номер) когато ги включиш излизат на COM5 и COM6. По някое време се рестартират но второто се включва първо. Операционната сисрема му дава COM5. След това се включва другото и получава COM6. Така и двата порта са там и двете устройства си работят но са си сменили местата.

Обикновено, серийните портове не се държат отворени, постоянно, така че, подобно събитие няма как да бъде отчетено.

В някои случаи е все едно кое от двете ще обработи командата но има устройства при които е критично командата да се подаде на точно определено устройство (в моя случай, това са фискални устройства и пос терминали които отчитат потоци на пари - те ще се запишат като оборот на грешна фирма или по-лошо, парите ще отидат в грешна сметка).

Иначе, производителите могат да сменят идентификациите (при ftdi май се ползваше външен flash за това. А това вдига цената на продуктът (не само с цената на компонента но и разходи за асемблиране) затова ги зарязват с идентификациите по подразбиране). Серийните номера пък изискват отделно флашване на всяко устройство, което също усложнява производството. Технически няма проблем производителите да предвидят опция за програмиране на идентификатори от потребителя, но обикновенно, това се праеи през сервизни интерфейси до които обикновените потребители нямат достъп.
  Форум: Разни  ·  Преглед: #503962

thrawn Публикувана на: 21-06-2026, 11:02

Мнения: 49
Преглеждания: 1437
Имах в предвид как ги подавате/приемате на чисто хардуерно ниво. Ама горе нали пусна извадка как ги обработваш. Но третирането им като команда, практически ги обезсмисля.
  Форум: Разни  ·  Преглед: #503959

thrawn Публикувана на: 21-06-2026, 08:34

Мнения: 49
Преглеждания: 1437
Точно това щях да питам, как реализирате хардуерната синхронизация по usb (макар, че в последните години почти не съм виждал устройства които да я използват)...
  Форум: Разни  ·  Преглед: #503957

thrawn Публикувана на: 20-06-2026, 11:55

Мнения: 49
Преглеждания: 1437
Не знам как ги определяш тия времена... За комуникацията с машините на датекс (и изобщо всичко ползващо същия протокол) имаш фиксирано време за отговор до 60 ms. За да е сигурно, че устройството е прихванало пакетът трябва да го изпратиш поне 2-3 пъти, за да обявиш че го няма. Това праеи общ минимален таймаут от 180 ms. Добави времето за изпращане на пакетът отиваш на 200 ms. Лично аз задавам таймаут на 200 ms. на всяка команда (и 3 повторения). Та лесно можеш да стигнеш до секуда че и повече
  Форум: Разни  ·  Преглед: #503953

thrawn Публикувана на: 20-06-2026, 10:23

Мнения: 49
Преглеждания: 1437
Има някакъв резон да се напраеи така, но забавянето няма да е 100 ms. А повече, защото трябва да саканираш всички портове и да изчакаш таймаутите на грешните портове.

Като цяло, аз не бих (и не) го направил така. Просто си мапвам устройствата както ми трябват а в последатвие проверката дали устройството е там или не се свежда до проста проверка дали файлът го има ими не.
В windows обаче не става толкова лесно. Но като цяло гледам да не поддържам системи с windows.
  Форум: Разни  ·  Преглед: #503951

thrawn Публикувана на: 20-06-2026, 08:04

Мнения: 49
Преглеждания: 1437
Да де, но се случва. Ето, на предната страница линкнах инфо на апарат на датекс (без сериен номер само vid/pid). Апаратът има режим за самоизключване (да пести батерия). Ако закачиш два такива и пуснеш приложение което ги управлява то ще работи коректно. Но ако те се изключат и ги включиш отново (без да спираш приложението), как би разбрал на кой порт кой апарат е (при твоята идея с детектване на устрийството)?

Точно за това трябва да имаш механизъм който да ти гарантира, че това устрийство излиза сами и единствено на този порт. Тоя проблем съм виждал да се решава от колеги с различни usb to rs адаптери.
  Форум: Разни  ·  Преглед: #503949

thrawn Публикувана на: 17-06-2026, 12:53

Мнения: 49
Преглеждания: 1437
И това не е много ОК, защото отнема време (а трябва да го правиш преди всяка команда, защото тези устройства могат да изчезнат и да се появят по-всяко време).

Като цяло, под linux имаш някакво поле за действие докато в windows нещата са си на самотек.
  Форум: Разни  ·  Преглед: #503947

thrawn Публикувана на: 17-06-2026, 11:23

Мнения: 49
Преглеждания: 1437
Кое е чудесно? Имам на бюрото два pinpad-а с ftdi - idVendor = 0403, idProduct = 6001, без сериен номер. Невъзможно е да се определи кой от тях на кой порт излиза. Имам и mdb контролер пак с ftdi и пак с оригиналната идентификация на чипа (добре, че китайците слагат серийни номера).

DEVICE и VENDOR ID -тата се използват за идентифициране на производител и модел на устройство - от всички еднакви модели на един производител са с един и същи идентификатори (да не говорим, че масово се запазват идентификаторите на използваните чипове или се правят някакви тъпотии като това Bus 001 Device 095: ID fff0:0100 Datecs Datecs Serial)

Та ако разчиташ само на тези идентификатори никога няма да се оправиш с имената на портовете. Затова се използват серийните номера (или друга характеристика на устройството) по която да можеш да го идентифицираш уникално за да му зададеш постоянно име

Това е машината с която работя в момента
CODE
 looking at device '/devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0/tty/ttyACM0':
   KERNEL=="ttyACM0"
   SUBSYSTEM=="tty"
   DRIVER==""
   ATTR{power/async}=="disabled"
   ATTR{power/control}=="auto"
   ATTR{power/runtime_active_kids}=="0"
   ATTR{power/runtime_active_time}=="0"
   ATTR{power/runtime_enabled}=="disabled"
   ATTR{power/runtime_status}=="unsupported"
   ATTR{power/runtime_suspended_time}=="0"
   ATTR{power/runtime_usage}=="0"

 looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4:1.0':
   KERNELS=="1-4:1.0"
   SUBSYSTEMS=="usb"
   DRIVERS=="cdc_acm"
   ATTRS{authorized}=="1"
   ATTRS{bAlternateSetting}==" 0"
   ATTRS{bInterfaceClass}=="02"
   ATTRS{bInterfaceNumber}=="00"
   ATTRS{bInterfaceProtocol}=="00"
   ATTRS{bInterfaceSubClass}=="02"
   ATTRS{bNumEndpoints}=="01"
   ATTRS{bmCapabilities}=="0"
   ATTRS{iad_bFirstInterface}=="00"
   ATTRS{iad_bFunctionClass}=="02"
   ATTRS{iad_bFunctionProtocol}=="01"
   ATTRS{iad_bFunctionSubClass}=="02"
   ATTRS{iad_bInterfaceCount}=="02"
   ATTRS{interface}=="USB_CDC0_0"
   ATTRS{physical_location/dock}=="no"
   ATTRS{physical_location/horizontal_position}=="left"
   ATTRS{physical_location/lid}=="no"
   ATTRS{physical_location/panel}=="top"
   ATTRS{physical_location/vertical_position}=="upper"
   ATTRS{power/async}=="enabled"
   ATTRS{power/runtime_active_kids}=="0"
   ATTRS{power/runtime_enabled}=="enabled"
   ATTRS{power/runtime_status}=="suspended"
   ATTRS{power/runtime_usage}=="0"
   ATTRS{supports_autosuspend}=="1"

 looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1/1-4':
   KERNELS=="1-4"
   SUBSYSTEMS=="usb"
   DRIVERS=="usb"
   ATTRS{authorized}=="1"
   ATTRS{avoid_reset_quirk}=="0"
   ATTRS{bConfigurationValue}=="1"
   ATTRS{bDeviceClass}=="ef"
   ATTRS{bDeviceProtocol}=="01"
   ATTRS{bDeviceSubClass}=="02"
   ATTRS{bMaxPacketSize0}=="8"
   ATTRS{bMaxPower}=="500mA"
   ATTRS{bNumConfigurations}=="1"
   ATTRS{bNumInterfaces}==" 2"
   ATTRS{bcdDevice}=="0100"
   ATTRS{bmAttributes}=="c0"
   ATTRS{busnum}=="1"
   ATTRS{configuration}==""
   ATTRS{devnum}=="95"
   ATTRS{devpath}=="4"
   ATTRS{idProduct}=="0100"
   ATTRS{idVendor}=="fff0"
   ATTRS{ltm_capable}=="no"
   ATTRS{manufacturer}=="Datecs"
   ATTRS{maxchild}=="0"
   ATTRS{physical_location/dock}=="no"
   ATTRS{physical_location/horizontal_position}=="left"
   ATTRS{physical_location/lid}=="no"
   ATTRS{physical_location/panel}=="top"
   ATTRS{physical_location/vertical_position}=="upper"
   ATTRS{power/active_duration}=="793518"
   ATTRS{power/async}=="enabled"
   ATTRS{power/autosuspend}=="2"
   ATTRS{power/autosuspend_delay_ms}=="2000"
   ATTRS{power/connected_duration}=="793518"
   ATTRS{power/control}=="on"
   ATTRS{power/level}=="on"
   ATTRS{power/persist}=="1"
   ATTRS{power/runtime_active_kids}=="0"
   ATTRS{power/runtime_active_time}=="793277"
   ATTRS{power/runtime_enabled}=="forbidden"
   ATTRS{power/runtime_status}=="active"
   ATTRS{power/runtime_suspended_time}=="0"
   ATTRS{power/runtime_usage}=="1"
   ATTRS{product}=="Datecs Serial"
   ATTRS{quirks}=="0x0"
   ATTRS{removable}=="removable"
   ATTRS{remove}=="(not readable)"
   ATTRS{rx_lanes}=="1"
   ATTRS{speed}=="12"
   ATTRS{tx_lanes}=="1"
   ATTRS{urbnum}=="48"
   ATTRS{version}==" 2.00"

 looking at parent device '/devices/pci0000:00/0000:00:14.0/usb1':
   KERNELS=="usb1"
   SUBSYSTEMS=="usb"
   DRIVERS=="usb"
   ATTRS{authorized}=="1"
   ATTRS{authorized_default}=="1"
   ATTRS{avoid_reset_quirk}=="0"
   ATTRS{bConfigurationValue}=="1"
   ATTRS{bDeviceClass}=="09"
   ATTRS{bDeviceProtocol}=="01"
   ATTRS{bDeviceSubClass}=="00"
   ATTRS{bMaxPacketSize0}=="64"
   ATTRS{bMaxPower}=="0mA"
   ATTRS{bNumConfigurations}=="1"
   ATTRS{bNumInterfaces}==" 1"
   ATTRS{bcdDevice}=="0608"
   ATTRS{bmAttributes}=="e0"
   ATTRS{busnum}=="1"
   ATTRS{configuration}==""
   ATTRS{devnum}=="1"
   ATTRS{devpath}=="0"
   ATTRS{idProduct}=="0002"
   ATTRS{idVendor}=="1d6b"
   ATTRS{interface_authorized_default}=="1"
   ATTRS{ltm_capable}=="no"
   ATTRS{manufacturer}=="Linux 6.8.0-111-generic xhci-hcd"
   ATTRS{maxchild}=="16"
   ATTRS{power/active_duration}=="2495239656"
   ATTRS{power/async}=="enabled"
   ATTRS{power/autosuspend}=="0"
   ATTRS{power/autosuspend_delay_ms}=="0"
   ATTRS{power/connected_duration}=="2495239656"
   ATTRS{power/control}=="auto"
   ATTRS{power/level}=="auto"
   ATTRS{power/runtime_active_kids}=="4"
   ATTRS{power/runtime_active_time}=="2495239648"
   ATTRS{power/runtime_enabled}=="enabled"
   ATTRS{power/runtime_status}=="active"
   ATTRS{power/runtime_suspended_time}=="0"
   ATTRS{power/runtime_usage}=="0"
   ATTRS{power/wakeup}=="disabled"
   ATTRS{power/wakeup_abort_count}==""
   ATTRS{power/wakeup_active}==""
   ATTRS{power/wakeup_active_count}==""
   ATTRS{power/wakeup_count}==""
   ATTRS{power/wakeup_expire_count}==""
   ATTRS{power/wakeup_last_time_ms}==""
   ATTRS{power/wakeup_max_time_ms}==""
   ATTRS{power/wakeup_total_time_ms}==""
   ATTRS{product}=="xHCI Host Controller"
   ATTRS{quirks}=="0x0"
   ATTRS{removable}=="unknown"
   ATTRS{remove}=="(not readable)"
   ATTRS{rx_lanes}=="1"
   ATTRS{serial}=="0000:00:14.0"
   ATTRS{speed}=="480"
   ATTRS{tx_lanes}=="1"
   ATTRS{urbnum}=="2753"
   ATTRS{version}==" 2.00"

 looking at parent device '/devices/pci0000:00/0000:00:14.0':
   KERNELS=="0000:00:14.0"
   SUBSYSTEMS=="pci"
   DRIVERS=="xhci_hcd"
   ATTRS{ari_enabled}=="0"
   ATTRS{broken_parity_status}=="0"
   ATTRS{class}=="0x0c0330"
   ATTRS{consistent_dma_mask_bits}=="64"
   ATTRS{d3cold_allowed}=="1"
   ATTRS{dbc}=="disabled"
   ATTRS{dbc_bInterfaceProtocol}=="01"
   ATTRS{dbc_bcdDevice}=="0010"
   ATTRS{dbc_idProduct}=="0010"
   ATTRS{dbc_idVendor}=="1d6b"
   ATTRS{dbc_poll_interval_ms}=="64"
   ATTRS{device}=="0xa2af"
   ATTRS{dma_mask_bits}=="64"
   ATTRS{driver_override}=="(null)"
   ATTRS{enable}=="1"
   ATTRS{index}=="3"
   ATTRS{irq}=="135"
   ATTRS{label}=="Onboard - Other"
   ATTRS{local_cpulist}=="0-5"
   ATTRS{local_cpus}=="3f"
   ATTRS{msi_bus}=="1"
   ATTRS{msi_irqs/135}=="msi"
   ATTRS{msi_irqs/136}=="msi"
   ATTRS{msi_irqs/137}=="msi"
   ATTRS{msi_irqs/138}=="msi"
   ATTRS{msi_irqs/139}=="msi"
   ATTRS{msi_irqs/140}=="msi"
   ATTRS{msi_irqs/141}=="msi"
   ATTRS{numa_node}=="-1"
   ATTRS{power/async}=="enabled"
   ATTRS{power/control}=="on"
   ATTRS{power/runtime_active_kids}=="1"
   ATTRS{power/runtime_active_time}=="2495242236"
   ATTRS{power/runtime_enabled}=="forbidden"
   ATTRS{power/runtime_status}=="active"
   ATTRS{power/runtime_suspended_time}=="0"
   ATTRS{power/runtime_usage}=="3"
   ATTRS{power/wakeup}=="enabled"
   ATTRS{power/wakeup_abort_count}=="0"
   ATTRS{power/wakeup_active}=="0"
   ATTRS{power/wakeup_active_count}=="0"
   ATTRS{power/wakeup_count}=="0"
   ATTRS{power/wakeup_expire_count}=="0"
   ATTRS{power/wakeup_last_time_ms}=="0"
   ATTRS{power/wakeup_max_time_ms}=="0"
   ATTRS{power/wakeup_total_time_ms}=="0"
   ATTRS{power_state}=="D0"
   ATTRS{remove}=="(not readable)"
   ATTRS{rescan}=="(not readable)"
   ATTRS{revision}=="0x00"
   ATTRS{subsystem_device}=="0x5007"
   ATTRS{subsystem_vendor}=="0x1458"
   ATTRS{vendor}=="0x8086"

 looking at parent device '/devices/pci0000:00':
   KERNELS=="pci0000:00"
   SUBSYSTEMS==""
   DRIVERS==""
   ATTRS{power/async}=="enabled"
   ATTRS{power/control}=="auto"
   ATTRS{power/runtime_active_kids}=="9"
   ATTRS{power/runtime_active_time}=="0"
   ATTRS{power/runtime_enabled}=="disabled"
   ATTRS{power/runtime_status}=="unsupported"
   ATTRS{power/runtime_suspended_time}=="0"
   ATTRS{power/runtime_usage}=="0"
   ATTRS{waiting_for_supplier}=="0"


Тази специфика прави работата с всички подобни устройства много неприята и за това, както вече казах, се предпочита чист rs

---
CODE
SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}!="AQ03FLEX", SYMLINK+="pinpad"
SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", ATTRS{serial}=="AQ03FLEX", SYMLINK+="mdb"
SUBSYSTEM=="tty", ATTRS{idVendor}=="05f9", ATTRS{idProduct}=="4204", SYMLINK+="scanner"


Ето как се решава проблемът с фиксирането на имената под linux. В краен случай може да се прибегне и до филтриране по usb портове...
  Форум: Разни  ·  Преглед: #503945

thrawn Публикувана на: 17-06-2026, 10:07

Мнения: 49
Преглеждания: 1437
vendor и product id-тата не са уникални. Точно тук е мотиката. А евтините устройства нямат уникален сериен номер.
  Форум: Разни  ·  Преглед: #503943

thrawn Публикувана на: 15-06-2026, 09:33

Мнения: 49
Преглеждания: 1437
Под linux портовете се номерират по ред на разпознаване на устройствата. Независмо с какви идентификатори си, като боднеш платката тя ще излезе като ttyUSB/ACM0, следващата ще е 1 и т.н.
За да фиксираш портовете се използва udev правила за създаване на символни връзки с фиксирано име към обектът които е създал драйвера за това устройство (като там вече можеш да филтрираш по сериен номер и т.н.)
  Форум: Разни  ·  Преглед: #503932

thrawn Публикувана на: 15-06-2026, 08:50

Мнения: 49
Преглеждания: 1437
Ключовия момент е в ако-то. Има доста хардуер без сериен номер, така, че се разчита само на девайс и вендор ид-тата. Да, ако се постараеш да купиш качествен(марков) адаптер, в него ще си има и сериен номер но хората предпочитат сигурността (никой не обича да намества разместени портове посред нощ).

Иначе, когато ползвам такива адаптери под linux винаги задавам udev линкове, защото там номерирането е по ред и няма как да го промениш.
  Форум: Разни  ·  Преглед: #503930

thrawn Публикувана на: 15-06-2026, 08:37

Мнения: 49
Преглеждания: 1437
Основния проблем е с драйверите (под windows) и системата зя номериране на портовете. Вторичен проблем се явява надеждността (usb то се изключва лесно). Дължината на трасетата също указва влияние.

Като цяло, при индустриялните конфигурации (и в частност при pos системите) се предпочита чист rs. Усб тата са краен вариант (обикновено, при лаптопи или ако вземе че изгори ttl конвертора на платката).
  Форум: Разни  ·  Преглед: #503928

thrawn Публикувана на: 15-06-2026, 05:25

Мнения: 49
Преглеждания: 1437
Тези компютри са "ценни" само ако имат серийни портове. Много вървят за пос системи. А сега им е сезона (началото на лятото се отварят мното заведения по морето).
  Форум: Разни  ·  Преглед: #503924

No New Posts  SSL (Страници 1 2 3 ...4 )
thrawn Публикувана на: 02-05-2026, 06:36

Мнения: 33
Преглеждания: 59508
В крайна сметка нещата се свеждат наистина до това. Но саимя процес по подновяване е малко по-сложен, тъй като изисква да докажеш, че домейнът е под твой контрол. Но си има скриптове които го правят - даже има разписан протокол за тази цел ACME (да не се бърка с името на емблематичната комапния icon_smile.gif ).

Между другото, сега обърнах внимание, че тук не се използва безплатен серификат (поне не знам sectigo да предлагат такъв) но като цяло автоматизацията по подновяването на сертификатите им е същата.
  Форум: За Форума  ·  Преглед: #503811

No New Posts  SSL (Страници 1 2 3 ...4 )
thrawn Публикувана на: 29-04-2026, 12:57

Мнения: 33
Преглеждания: 59508
Е то задължително пускаш скрипт който обновява сертификатът. На мен проблемът ми е, че спряха известията ако видят, че сертификатът изтича и не се поднови. Но все пак, услугата е безплатна. На който не му харесва ...
  Форум: За Форума  ·  Преглед: #503807

No New Posts  SSL (Страници 1 2 3 ...4 )
thrawn Публикувана на: 21-04-2026, 08:19

Мнения: 33
Преглеждания: 59508
Последните дни явно е епидемия около мен с тия експирясали сертификати...
  Форум: За Форума  ·  Преглед: #503798

thrawn Публикувана на: 13-04-2026, 10:34

Мнения: 12
Преглеждания: 1941
DNS е мрежа от сървъри. Когато добавиш/редактираш нещо в един той казва на тези около него за промяната. Те казват на твзи около тях, те на тези около тях... това е процес на "спам" за обновяване на зони (това е тая "минута" за която говориш главните и подчинените съевъри се спамят взаимно). Отделно, самите сървъри кешират записи (рутерът ти, доставчикът ти, неговия доатавчик...). Така ти може да смениш адреса на сайтът но сървърите които са кеширали стария няма да си направят трудът да проверят за промяна в зоната или докато кеша не изтече или докато не получат нотификация за обновяване. Отделно, има кеширане и на ниво ОС.

Това са неща които не зависят от теб (е, можеш да посочиш време за което да ти се кешеират записите - например, ако си играеш с настройки на зоната сваляш времето на минимум, но пък това вдига натоварването на dns сървърите). Затова промените в DNS записите се виждат бавно в глобален мащаб и се правят горните изпълнения за да не се чудят клиентите какво става). Пак казвам, това не е фатално. Дори да не си предприел нищо, просто го знай като информация и ако получиш оплакване от клиент за странно поведение или необработена заявка (ако не си махнал статия хост) да си на ясно как да реагираш.
  Форум: Разни  ·  Преглед: #503787

thrawn Публикувана на: 13-04-2026, 09:04

Мнения: 12
Преглеждания: 1941
За решено, решено е.

Само ти обръщам вномание, че в близките един два дни може да има клиенти които ще отварят стария хост (заради стари dns записи). Затова е хубаво там да спреш достъпът за писане в базата данни (за да не могат клиенти да качват информация която няма да се обработва реално). А ако си изтрил всичко, сложи просто една стаична стеаница, че се извършва профилактика. Така ако някой попадне там, ще види нея вместо 404. А когато dns-ът му се обнови, по магичен начин ще види новия хост.

Всичко това няма никакво отношение към финкциите в сайтът. Просто така работи DNS мрежата. Но дори и да не направиш нищи, е все тая.
  Форум: Разни  ·  Преглед: #503785

thrawn Публикувана на: 13-04-2026, 05:55

Мнения: 12
Преглеждания: 1941
Имай в предвид, че актуализяцията на dns сървърите може да отнеме няколко дни. Когато се прави такава миграция е хубаво да се остави стария хост активен (в режим read only) за да могат потребителите които попадат на него да виждат все пак някаква функционалност (или поне съобщение, че се извършва профилактика или някаква такава глупост). Чак когато мине седмица (за да си сигурен, че всички dns сървъри са се актуализирали) затриваш статия хост.
  Форум: Разни  ·  Преглед: #503783

thrawn Публикувана на: 12-04-2026, 17:30

Мнения: 12
Преглеждания: 1941
Браузерите имат опция да се изключи рестрикцията за http така че, ако е само за теб - просто виж как се спира на браузерът който използваш. Ако ти се занимава повече - можеш да си направиш плъгин в който ще можеш да заобиколиш ограничението (пак ще работи само за теб). Трети вариант е да използваш download мениджер (например wget или дори curl). Можеш дори да регистрираш собствен пртокол така, че файловете да се свалят директно с твое приложение или скрипт.

Основния проблем са клиентите (ако са браузери), защото те не са под твой контрол. Така че, всичко горе е просто замитане на проблемът. Единственото смислено решение е да мигрираш или към план който позволява криптиране или направо сменяй хоста.
  Форум: Разни  ·  Преглед: #503781

thrawn Публикувана на: 12-04-2026, 16:01

Мнения: 12
Преглеждания: 1941
Проблемът му, най-вероятно е, че става дума за споделен хост (работи на един сървър) а сертификатите включвт име на хост. Това прави невъзможно да се ползва един общ сертификат за всички клиенти (заради имената) а в безплатните акаунти не им дават достъп до конфигурацията на виртуалните хостове.
  Форум: Разни  ·  Преглед: #503779

Страници: (154) [1] 2 3 ... последна »
New Posts  Отворена тема (има нови мнения)
No New Posts  Отворена тема (няма нови мнения)
Hot topic  Гореща тема (има нови мнения)
No new  Гореща тема (няма нови мнения)
Poll  Анкета (има нови гласували)
No new votes  Анкета (няма нови гласували)
Closed  Заключена тема
Moved  Преместена тема

Copyright © 2003-2019 | BG Development | All Rights Reserved
RSS 2.0