Fragen zu admnet.spin
Verfasst: Mo 4. Jun 2018, 15:56
Hallo,
ich stolpere gerase etwas in admnet.spin herum un binn auf diese Routinen gestoßen.
PRI lan_txdata | handleidx, len, txbyte, error
PRI lan_rxdata | handleidx, len, rxbyte, error
Mein Problem ist das txbyte und rxbyte nur 255 Zeichen enthalten können.
In ein Frame kann ich aber mehr (0-1500) mit einmal übertragen.
Oder binn ich auf was Ausgerutscht???!?
Eventuell könnte das das problem mit dem webserver erklähren.
2. Punkt
Die Rückmeldung müsste auch etwas geändert werden da Reg. die eingehenden werte nicht unterscheiden kann
ich stolpere gerase etwas in admnet.spin herum un binn auf diese Routinen gestoßen.
PRI lan_txdata | handleidx, len, txbyte, error
PRI lan_rxdata | handleidx, len, rxbyte, error
Mein Problem ist das txbyte und rxbyte nur 255 Zeichen enthalten können.
In ein Frame kann ich aber mehr (0-1500) mit einmal übertragen.
Oder binn ich auf was Ausgerutscht???!?

Eventuell könnte das das problem mit dem webserver erklähren.
2. Punkt
Code: Alles auswählen
PRI lan_rxdata | handleidx, len, rxbyte, error
''funktionsgruppe : lan
''funktion : bei bestehender Verbindung die angegebene Datenmenge empfangen
''eingabe : -
''ausgabe : -
''busprotokoll : [078][get.handleidx][sub_getlong.len][put.byte1][put.byte<len>][put.error]
'' : handleidx - lfd. Nr. der Verbindung
'' : len - Anzahl zu empfangender Bytes
'' : error - ungleich Null bei Fehler
error := FALSE
handleidx := bus_getchar
len := sub_getlong
repeat len
ifnot error
repeat while (rxbyte := sock.readByteNonBlocking(sockhandle[handleidx])) < 0
ifnot sock.isConnected(sockhandle[handleidx])
error := sock#ERRSOCKETCLOSED
quit
bus_putchar(rxbyte)
bus_putchar(error)
Code: Alles auswählen
bus_putchar(rxbyte) <-> bus_putchar(error)
Code: Alles auswählen
repeat len
ifnot error
repeat while (rxbyte := sock.readByteNonBlocking(sockhandle[handleidx])) < 0
ifnot sock.isConnected(sockhandle[handleidx])
error := sock#ERRSOCKETCLOSED
quit
bus_putchar(OK)
bus_putchar(rxbyte)
bus_putchar(error)
bus_putchar(0)