mirror of
https://github.com/oxan/esphome-stream-server.git
synced 2026-08-26 21:37:16 +00:00
Create socket using IP-version agnostic helper functions
This should add support for IPv6.
This commit is contained in:
@@ -30,17 +30,11 @@ using namespace esphome;
|
||||
void StreamServerComponent::setup() {
|
||||
ESP_LOGCONFIG(TAG, "Setting up stream server...");
|
||||
|
||||
struct sockaddr_in bind_addr = {
|
||||
.sin_len = sizeof(struct sockaddr_in),
|
||||
.sin_family = AF_INET,
|
||||
.sin_port = htons(this->port_),
|
||||
.sin_addr = {
|
||||
.s_addr = ESPHOME_INADDR_ANY,
|
||||
}
|
||||
};
|
||||
struct sockaddr_storage bind_addr;
|
||||
socklen_t bind_addrlen = socket::set_sockaddr_any(reinterpret_cast<struct sockaddr *>(&bind_addr), sizeof(bind_addr), htons(this->port_));
|
||||
|
||||
this->socket_ = socket::socket(AF_INET, SOCK_STREAM, PF_INET);
|
||||
this->socket_->bind(reinterpret_cast<struct sockaddr *>(&bind_addr), sizeof(struct sockaddr_in));
|
||||
this->socket_ = socket::socket_ip(SOCK_STREAM, PF_INET);
|
||||
this->socket_->bind(reinterpret_cast<struct sockaddr *>(&bind_addr), bind_addrlen);
|
||||
this->socket_->listen(8);
|
||||
}
|
||||
|
||||
@@ -62,8 +56,8 @@ void StreamServerComponent::on_shutdown() {
|
||||
}
|
||||
|
||||
void StreamServerComponent::accept() {
|
||||
struct sockaddr_in client_addr;
|
||||
socklen_t client_addrlen = sizeof(struct sockaddr_in);
|
||||
struct sockaddr_storage client_addr;
|
||||
socklen_t client_addrlen = sizeof(client_addr);
|
||||
std::unique_ptr<socket::Socket> socket = this->socket_->accept(reinterpret_cast<struct sockaddr *>(&client_addr), &client_addrlen);
|
||||
if (!socket)
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user