2.3.1 • Published 1 month ago

@smake/socket v2.3.1

Weekly downloads
-
License
MIT
Repository
github
Last release
1 month ago

C++ Socket 扩平台

例子

#include <cassert>
#include <iostream>
#include <ex/udp.h>

int main() {
  ex::ipaddr ia1("0.0.0.0", 8080);
  ex::ipaddr ia2("0.0.0.0", 8081);
  ex::ipaddr ia3("127.0.0.2", 8080);
  ex::ipaddr ia4("0.0.0.0", 8080);
  ex::ipaddr<ex::v6> i6a1("::1", 8080);
  ex::ipaddr<ex::v6> i6a2("::1", 8081);
  ex::ipaddr<ex::v6> i6a3("::2", 8080);
  ex::ipaddr<ex::v6> i6a4("::1", 8080);

  assert(ia1 != ia2);
  assert(ia1 != ia3);
  assert(ia1 == ia4);

  assert(i6a1 != i6a2);
  assert(i6a1 != i6a3);
  assert(i6a1 == i6a4);

  std::cout << "IP Pass!" << std::endl;
  
  ex::socket::startup();

  ex::udp u1;
  u1.bind(ia1);

  ex::udp<ex::v6> u2;
  u2.bind(i6a2);

  auto &u = u1;
  while (1) {
    u.recvfrom();
    auto rb = u.recv_buffer();
    std::cout << rb << std::endl;
    u.sendto(rb, u.rmt_ipaddr());
    u.sendto({2, 1, 1}, u.rmt_ipaddr());
    u.sendto("456", u.rmt_ipaddr());
  }

  u.close();
  u.shutdown(SHUT_RDWR);
  ex::socket::cleanup();
  return 0;
}
2.3.1

1 month ago

2.3.0

9 months ago

2.2.0

10 months ago

2.1.0

1 year ago

2.0.1

2 years ago

2.0.0

2 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago