Opened 13 years ago
Closed 13 years ago
#163 closed Fehler (fixed)
Netzwerk-Dienste (WebServer LAN2)
| Reported by: | Melanie Hermann | Owned by: | Melanie Hermann |
|---|---|---|---|
| Priority: | kurzfristig | Milestone: | |
| Component: | Gesamtsystem | Version: | |
| Severity: | Zu prüfen | Keywords: | |
| Cc: |
Description
TODO:
Der Webserver startet nicht, wenn er nur auf LAN2 laufen soll.
Trace-Meldung set_ports_option: cannot bind to 160.221.45.8:80: 10038.
Change History (8)
comment:1 by , 13 years ago
comment:2 by , 13 years ago
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |
Dieses Problem scheint nur bei meinem Debug-GC vorzukommen.
Bei den anderen GCs funktioniert das ohne Probleme.
Bei meinem Debug-GC gab es schon öfters Probleme mit der LAN2.
comment:3 by , 13 years ago
| Resolution: | fixed |
|---|---|
| Status: | closed → reopened |
comment:5 by , 13 years ago
bind() schlägt fehl mit folgendem Windows Socket Error Code: WSAEADDRNOTAVAIL
Cannot assign requested address.
The requested address is not valid in its context. This normally results from an attempt to bind to an address that is not valid for the local computer. This can also result from connect, sendto, WSAConnect, WSAJoinLeaf, or WSASendTo when the remote address or port is not valid for a remote computer (for example, address or port 0).
comment:6 by , 13 years ago
Problem:
LAN2 bekommt erst nach ein paar Sekunden die IP-Adresse vom DHCP zugewiesen. Wenn sich nun der WebServer auf diese Schnittstelle verbinden funktioniert das nicht.
Wenn man aber bei Programmstart ein Sleep von 20 Sekunden einbaut und somit die LAN2 eine gültige Adresse besitzt, wenn der Webserver starten will, funktioniert alles ohne Probleme.
comment:7 by , 13 years ago
| Severity: | Fehler → Zu prüfen |
|---|
DONE:
- Webserver funktioniert ohne Probleme sobald LAN2 eine Adresse vom DHCP zugewiesen bekommen hat
Änderungen:
- ReadIpAVarsFromRegistry() aufgesplittet in ReadMacAdr1FromRegistry() und ReadDhcpIpsRegistry()
- Beim Programmstart in wird in InitInstance() erstmal nur ReadMacAdr1FromRegistry() aufgerufen
- In SecTimerFunc() wird zyklisch, alle 30 Sekunden, ReadDhcpIpsRegistry() aufgerufen
- ReadMacAdr1FromRegistry(): Hier wird einmalig die Macadresse der LAN1 ausgelesen
- ReadDhcpIpsRegistry(): Hier wird zyklisch überprüft ob LAN1 oder LAN2 eine neue IP-Adresse vom DCHP erhalten haben. Wenn ja, werden alle Netzwerkdienste (Webserver, DSfG-DFÜ, ModbusIP und VNCServer) neugestartet.
- dsfgmana.cpp, C_DSfGDfue::Disconnect(): Hier hat folgender Codeausschnitt gefehlt, wenn der Dienst neugestartet wird.
if (m_SendOverlapped.hEvent != NULL) { WSACloseEvent( m_SendOverlapped.hEvent); m_SendOverlapped.hEvent = NULL; } - dsfgmana.cpp, WriteThread_DsfgDfue(): If-Abfrage vor Eventerstellung eingefügt.
if (NULL == DsfgDfue->m_SendOverlapped.hEvent) DsfgDfue->m_SendOverlapped.hEvent = WSACreateEvent();
comment:8 by , 13 years ago
| Resolution: | → fixed |
|---|---|
| Status: | reopened → closed |
| Summary: | WebServer LAN2 → Netzwerk-Dienste (WebServer LAN2) |
Fehler 10038 bedeutet: WSAENOTSOCK, An operation was attempted on something that is not a socket.