WinError 10049 Hatası (The requested address is not valid in its context)

Belirti

EraBackup Agent (communicator.py) başlatıldığında aşağıdaki hata görülebilir:

Traceback (most recent call last):
  File "communicator.py", line xxxx, in main
    server_socket.bind((HOST, PORT))

OSError: [WinError 10049] The requested address is not valid in its context

veya

OSError: [WinError 10049]
The requested address is not valid in its context

Hatanın Nedeni

Bu hata, EraBackup Agent’ın dinleme (bind) işlemi sırasında Windows üzerinde bulunmayan bir IP adresine bağlanmaya çalışması nedeniyle oluşur.

Agent aşağıdaki kod ile belirtilen IP adresinde dinleme başlatır:

HOST = clientaddress
PORT = int(clientport)

server_socket.bind((HOST, PORT))

Buradaki clientaddress değeri, Agent’ın çalıştığı bilgisayarın kendi IP adresi olmalıdır.

Örneğin:

clientaddress = 172.16.99.140

Eğer Agent’ın çalıştığı Windows makinesinde bu IP adresi mevcut değilse, Windows ilgili IP üzerinde dinleme başlatamayacağı için WinError 10049 hatasını üretir.


Yaygın Sebepler

  • Yanlış IP adresinin clientaddress olarak girilmesi
  • Sunucu IP adresinin yanlışlıkla clientaddress alanına yazılması
  • Ağ kartının IP adresinin değişmiş olması
  • VPN bağlantısının kesilmiş olması
  • İlgili ağ adaptörünün devre dışı kalmış olması
  • DHCP nedeniyle istemcinin yeni IP adresi almış olması

Kontrol Edilmesi Gerekenler

1. Windows IP adresini kontrol edin

Komut İstemi’ni açın ve aşağıdaki komutu çalıştırın:

ipconfig

veya

ipconfig /all

Çıktıda görülen IPv4 adresinin, EraBackup Agent yapılandırmasındaki clientaddress değeri ile aynı olduğundan emin olun.

Örnek:

IPv4 Address . . . . . . . : 172.16.99.140

2. Yapılandırma dosyasını kontrol edin

EraBackup Agent yapılandırma dosyasını açın:

C:\Users\Public\EraBackup\config.json

Örnek yapılandırma:

{
    "serverurl": "172.16.99.82",
    "clientaddress": "172.16.99.140",
    "clientport": "62107"
}

Alanların anlamı:

AlanAçıklama
serverurlEraBackup Sunucusunun IP adresi
clientaddressAgent’ın çalıştığı bilgisayarın IP adresi
clientportAgent’ın dinleyeceği port

Doğru Yapılandırma

Örnek ağ yapısı:

EraBackup Server
IP: 172.16.99.82

↓

EraBackup Agent
IP: 172.16.99.140
Port: 62107

Bu durumda Agent aşağıdaki şekilde çalışmalıdır:

HOST = "172.16.99.140"
PORT = 62107

server_socket.bind((HOST, PORT))

Yanlış Yapılandırma

Aşağıdaki yapılandırma hatalıdır:

{
    "serverurl": "172.16.99.82",
    "clientaddress": "172.16.99.82"
}

Burada Agent kendi IP adresi yerine EraBackup Sunucusunun IP adresinde dinleme başlatmaya çalışacaktır.

Bu durumda Windows aşağıdaki hatayı üretir:

WinError 10049
The requested address is not valid in its context

Sorun Giderme Adımları

  1. ipconfig komutu ile Agent makinesinin IP adresini doğrulayın.
  2. config.json dosyasındaki clientaddress alanının doğru olduğundan emin olun.
  3. Ağ adaptörünün etkin olduğundan emin olun.
  4. VPN kullanılıyorsa bağlantının aktif olduğunu kontrol edin.
  5. DHCP kullanılan ortamlarda IP adresinin değişmediğini doğrulayın.
  6. Gerekirse EraBackup Agent hizmetini yeniden başlatın.

Doğrulama

Agent başarıyla başlatıldığında aşağıdaki benzer çıktı görülmelidir:

Sunucu IP: 172.16.99.140
Dinlenen port: 62107
Sunucu dinleniyor: 172.16.99.140:62107

Bu durum Agent’ın belirtilen IP adresinde başarıyla dinlemeye başladığını gösterir.


Not

WinError 10049 bir port kullanımda hatası değildir.

  • WinError 10049 → Belirtilen IP adresi bu bilgisayara ait değildir.
  • WinError 10048 → Belirtilen port başka bir uygulama tarafından kullanılmaktadır.

Bu iki hata farklı nedenlerden kaynaklanır ve çözüm yöntemleri de farklıdır.