First network test

Warning: old, unfinished code
This commit is contained in:
André Schweiger 2017-04-26 21:39:46 +02:00
parent c107f82abb
commit 3b2a0f4de8
7 changed files with 149 additions and 45 deletions

View file

@ -151,19 +151,28 @@ bool networkConnected() {
return isConnected;
}
bool networkIsServer() {
return isServer;
}
void networkSend(networkPacket *packet, size_t size) {
if(udsRunning && isConnected) {
//Server broadcasts to all clients but clients only send info to server
u16 dest;
if(isServer) {
dest = UDS_BROADCAST_NETWORKNODEID;
networkSendTo(packet, size, UDS_BROADCAST_NETWORKNODEID);
} else {
dest = UDS_HOST_NETWORKNODEID;
networkSendTo(packet, size, UDS_HOST_NETWORKNODEID);
}
}
}
//TODO: I somehow need to implement a relieable protocol on top of uds
void networkSendTo(networkPacket *packet, size_t size, u16 reciever) {
if(udsRunning && isConnected) {
Result ret = udsSendTo(dest, NETWORK_CHANNEL, UDS_SENDFLAG_Default, packet, size);
Result ret = udsSendTo(reciever, NETWORK_CHANNEL, UDS_SENDFLAG_Default, packet, size);
if(UDS_CHECK_SENDTO_FATALERROR(ret)) {
//TODO: what do?
}
@ -187,7 +196,7 @@ void networkRecieve() {
if(actualSize) {
networkPacket *packet = (networkPacket*) networkBuffer;
processPacket(packet, packet->analyze.type);
processPacket(packet, packet->analyze.type, sourceNetworkNodeID);
}
}
}