Created a new exemple with a server client interface

unix_test
anulax1225 ago%!(EXTRA string=1 year)
parent 8195ab166b
commit 7a0ef3aca8
  1. 32
      sandbox/client/client.cpp
  2. 8
      sandbox/commun.h
  3. 29
      sandbox/server/server.cpp

@ -1,28 +1,26 @@
#include <iostream>
#include <string>
#include "../commun.h"
#include "bakanet.h"
using namespace Bk::Net;
int main()
{
IpAddress ip("127.0.0.1");
Socket sock(ip, 8080, IpProtocol::TCP);
log(dns_lookup("edus2.rpn.ch", IpVersion::IPv4)[0])
bool status = sock.conn();
if(!status) perror("Couldn't connect.");
IpAddress ip("127.0.0.1");
Socket sock(ip, 9000, IpProtocol::TCP);
std::string msg = "GET / HTTP/1.1\r\n";
std::vector<char> data(msg.begin(), msg.end());
if(!sock.conn()) {
perror("Couldn't connect to the end point.");
exit(1);
}
sock.write(data);
Packet packet, meta;
std::string str("Hello world");
packet.push<char>(str.c_str(), str.length());
meta.push<int>(packet.size());
std::vector<char> r_data;
while((r_data = sock.recv(1024)).size())
{
log(r_data.size())
std::string data_to_str(r_data.begin(), r_data.end());
log(data_to_str)
}
sock.write(meta.payload);
sock.write(packet.payload);
return 0;
}

@ -0,0 +1,8 @@
#pragma once
#include <iostream>
#include <vector>
#include <string>
#include <bakanet.h>
#define log(str) std::cout << str << "\n";

@ -1,32 +1,27 @@
#include <iostream>
#include <string>
#include "../commun.h"
#include "bakanet.h"
using namespace Bk::Net;
int main()
{
bool running = true;
IpAddress ip("127.0.0.1");
Socket sock(ip, 8080, IpProtocol::TCP);
running = sock.init() && sock.start(50);
std::string msg = "HTTP/1.1 200 OK\r\n"
"Content-Type: text/html\r\n\r\n"
"<p>Hello World!</p>";
std::vector<char> data(msg.begin(), msg.end());
Socket sock(ip, 9000, IpProtocol::TCP);
bool running = sock.init() && sock.start(50);
while (running)
{
Connection conn;
if ((conn = sock.ack()) > 0)
{
auto r_data = sock.recv(conn, 2 * 2048);
std::string data_to_str(r_data.begin(), r_data.end());
log(data_to_str)
//Sending data step
sock.write(conn, data);
log("New Connection")
Packet meta_data(sock.recv(conn, 4));
int length = meta_data.pull<int>();
if (length > 0)
{
Packet data(sock.recv(conn, length + 2));
log(data.pull<char>(length).release());
}
close(conn);
}
}

Loading…
Cancel
Save