test.cpp 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #include "socketio.hpp"
  2. #include "BigInt64.hpp"
  3. #include <iostream>
  4. #include <chrono>
  5. unsigned long long nanoTime(){
  6. using namespace std;
  7. using namespace std::chrono;
  8. return duration_cast<nanoseconds>(high_resolution_clock::now().time_since_epoch()).count();
  9. }
  10. template<typename T>
  11. std::ostream& operator<<(std::ostream& out, std::vector<T> o){
  12. out << "[";
  13. for(unsigned int i = 0;i < o.size();i++){
  14. if(o[i] == '\r')continue;
  15. out << o[i];
  16. if(i < o.size() - 1)
  17. out << ", ";
  18. }
  19. return out << "]";
  20. }
  21. template<>
  22. std::ostream& operator<< <char>(std::ostream& out, std::vector<char> o){
  23. for(unsigned int i = 0;i < o.size();i++){
  24. out << o[i];
  25. }
  26. return out;
  27. }
  28. int main(){
  29. BigInt a = {1LL << 32};
  30. for(int i = 0;i < 12;i++){
  31. std::cout << a.toString().size() << " - stellig: " << std::flush;
  32. auto t1 = nanoTime();
  33. a = a.mult(a);
  34. auto t2 = nanoTime();
  35. std::cout << (t2 - t1) << " ns" << std::endl;
  36. }
  37. }
  38. int mian(){
  39. cppsocket sock("192.168.178.79", 80);
  40. //cppsocket sock("127.0.0.1", 80);
  41. std::vector<char> toSend(10);
  42. for(unsigned int i = 0;i < toSend.size();i++){
  43. toSend[i] = (char)(i * i) % 10 + 'a';
  44. }
  45. //std::cout << errno << std::endl;
  46. try{
  47. for(int i = 0;i < 100;i++){
  48. sock.write(toSend);
  49. std::cout << "Rec" << std::endl;
  50. std::cout << sock.receive() << std::endl;
  51. //std::this_thread::sleep_for(std::chrono::milliseconds(1));
  52. }
  53. }
  54. catch(std::exception& e){
  55. std::cout << e.what() << std::endl;
  56. }
  57. //std::cout << "Sent " << std::to_string(toSend.size()) << ", Receiving..." << std::endl;
  58. //sock.write(std::vector<char>(1,1));
  59. //std::vector<char> vec = sock.receive();
  60. //std::cout << (vec == toSend);
  61. //std::cout << vec << std::endl;
  62. //vec = sock.receive();
  63. //std::cout << vec << std::endl;
  64. return 0;
  65. }