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 <string>
#include <fstream>
#include <iostream>
using namespace std;
void NameRequest(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);
}
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){
ENetPacket* packet;
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
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);
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 "../logger.h"
std::vector<std::string> Split(const std::string& String,const std::string& delimiter);
void ParseData(ENetPacket*packet,ENetPeer*peer){ //here we will parse the data
void Respond(const std::string& MSG, ENetPeer*peer);
void ParseData(ENetPacket*packet, ENetPeer*peer){
std::string Packet = (char*)packet->data;
int off = stoi(Packet.substr(0, 2));
std::string header = Packet.substr(2, off - 2), data = Packet.substr(off);
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;
}
}
if(Packet == "p"){Respond("p",peer);return;}
std::cout << "Data : " << Packet << std::endl;
}

View File

@ -1,10 +1,8 @@
///
/// 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> Val;
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);
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;
}