high accuracy ping + cleanup

This commit is contained in:
Anonymous275 2020-04-16 22:55:22 +03:00
parent 5cb43950eb
commit b5dbb70104
3 changed files with 22 additions and 33 deletions

View File

@ -1,24 +1,28 @@
// ///
// Created by Anonymous275 on 2/4/2020. /// Created by Anonymous275 on 2/4/2020.
// ///
#include "enet.h" #include "enet.h"
#include <string> #include <string>
#include <fstream> #include <fstream>
#include <iostream>
using namespace std;
void NameRequest(ENetPeer*peer){ void NameRequest(ENetPeer*peer){
ENetPacket* packet = enet_packet_create ("NameRequest", //Send A Name Request to the Client ENetPacket* packet = enet_packet_create ("NameRequest", //Send A Name Request to the Client
strlen ("NameRequest") + 1, strlen ("NameRequest") + 1,
ENET_PACKET_FLAG_RELIABLE); //Create A reliable packet using the data ENET_PACKET_FLAG_RELIABLE); //Create A reliable packet using the data
enet_peer_send(peer, 0, packet); enet_peer_send(peer, 0, packet);
} }
void Respond(const std::string& MSG, ENetPeer*peer){
enet_peer_send(peer, 0, enet_packet_create(MSG.c_str(), MSG.length() + 1, ENET_PACKET_FLAG_RELIABLE));
}
void SendToAll(ENetHost *server,ENetEvent event){ void SendToAll(ENetHost *server,ENetEvent event){
ENetPacket* packet; ENetPacket* packet;
for (int i = 0; i < server->connectedPeers; i++) { for (int i = 0; i < server->connectedPeers; i++) {
//if (&server->peers[i] != event.peer) { if you don't want to send it to the person ho just connected //if (&server->peers[i] != event.peer) { if you don't want to send it to the person ho just connected
char Data[500]; char Data[500];
sprintf(Data,"There is %d Players Connected!",server->connectedPeers); sprintf(Data,"There is %zu Players Connected!",server->connectedPeers);
printf("test %d\n",server->peers[i].serverVehicleID); printf("test %d\n",server->peers[i].serverVehicleID);
packet = enet_packet_create(Data, strlen(Data)+1, 0); packet = enet_packet_create(Data, strlen(Data)+1, 0);
@ -29,3 +33,10 @@ void SendToAll(ENetHost *server,ENetEvent event){
} }
} }
void OnConnect(ENetPeer*peer){
ENetPacket* packet = enet_packet_create ("NameRequest", //Send A Name Request to the Client
strlen ("NameRequest") + 1,
ENET_PACKET_FLAG_RELIABLE); //Create A reliable packet using the data
enet_peer_send(peer, 0, packet);
std::cout << "ID : " << peer->serverVehicleID << std::endl;
}

View File

@ -8,21 +8,9 @@
#include <vector> #include <vector>
#include "../logger.h" #include "../logger.h"
std::vector<std::string> Split(const std::string& String,const std::string& delimiter); void Respond(const std::string& MSG, ENetPeer*peer);
void ParseData(ENetPacket*packet, ENetPeer*peer){
void ParseData(ENetPacket*packet,ENetPeer*peer){ //here we will parse the data
std::string Packet = (char*)packet->data; std::string Packet = (char*)packet->data;
int off = stoi(Packet.substr(0, 2)); if(Packet == "p"){Respond("p",peer);return;}
std::string header = Packet.substr(2, off - 2), data = Packet.substr(off); std::cout << "Data : " << Packet << std::endl;
std::vector<std::string> split; }
if(!header.empty()) {
std::cout << header << " header size : " << header.size() << std::endl;
split = Split(header, ":"); //1st is reliable - 2nd is Code - 3rd is VehID
}
if(!data.empty()){
std::cout << data << std::endl;
std::cout << "Ping : " << peer->ping << std::endl;
}
}

View File

@ -1,10 +1,8 @@
/// ///
/// Created by Anonymous275 on 4/1/2020 /// Created by Anonymous275 on 4/1/2020
/// ///
#include "enet.h"
#include <vector>
#include "../logger.h"
#include <vector>
std::vector<std::string> Split(const std::string& String,const std::string& delimiter){ std::vector<std::string> Split(const std::string& String,const std::string& delimiter){
std::vector<std::string> Val; std::vector<std::string> Val;
size_t pos = 0; size_t pos = 0;
@ -17,11 +15,3 @@ std::vector<std::string> Split(const std::string& String,const std::string& deli
Val.push_back(s); Val.push_back(s);
return Val; return Val;
} }
void OnConnect(ENetPeer*peer){
ENetPacket* packet = enet_packet_create ("NameRequest", //Send A Name Request to the Client
strlen ("NameRequest") + 1,
ENET_PACKET_FLAG_RELIABLE); //Create A reliable packet using the data
enet_peer_send(peer, 0, packet);
std::cout << "ID : " << peer->serverVehicleID << std::endl;
}