diff --git a/include-fd/stdplus/fd/gmock.hpp b/include-fd/stdplus/fd/gmock.hpp
index 29f8150..08c66fb 100644
--- a/include-fd/stdplus/fd/gmock.hpp
+++ b/include-fd/stdplus/fd/gmock.hpp
@@ -31,6 +31,8 @@
     MOCK_METHOD(size_t, lseek, (off_t offset, Whence whence), (override));
     MOCK_METHOD(void, truncate, (off_t size), (override));
     MOCK_METHOD(void, bind, (std::span<const std::byte> sockaddr), (override));
+    MOCK_METHOD(void, connect, (std::span<const std::byte> sockaddr),
+                (override));
     MOCK_METHOD(void, listen, (int backlog), (override));
     MOCK_METHOD((std::optional<std::tuple<int, std::span<std::byte>>>), accept,
                 (std::span<std::byte> sockaddr), (override));
diff --git a/include-fd/stdplus/fd/impl.hpp b/include-fd/stdplus/fd/impl.hpp
index 1393340..fe3af81 100644
--- a/include-fd/stdplus/fd/impl.hpp
+++ b/include-fd/stdplus/fd/impl.hpp
@@ -26,6 +26,7 @@
     size_t lseek(off_t offset, Whence whence) override;
     void truncate(off_t size) override;
     void bind(std::span<const std::byte> sockaddr) override;
+    void connect(std::span<const std::byte> sockaddr) override;
     void listen(int backlog) override;
     std::optional<std::tuple<int, std::span<std::byte>>>
         accept(std::span<std::byte> sockaddr) override;
diff --git a/include-fd/stdplus/fd/intf.hpp b/include-fd/stdplus/fd/intf.hpp
index 0b33744..293e514 100644
--- a/include-fd/stdplus/fd/intf.hpp
+++ b/include-fd/stdplus/fd/intf.hpp
@@ -134,6 +134,7 @@
     virtual size_t lseek(off_t offset, Whence whence) = 0;
     virtual void truncate(off_t size) = 0;
     virtual void bind(std::span<const std::byte> sockaddr) = 0;
+    virtual void connect(std::span<const std::byte> sockaddr) = 0;
     virtual void listen(int backlog) = 0;
     virtual std::optional<std::tuple<int, std::span<std::byte>>>
         accept(std::span<std::byte> sockaddr) = 0;
diff --git a/include-fd/stdplus/fd/ops.hpp b/include-fd/stdplus/fd/ops.hpp
index 4d0b01a..74cba26 100644
--- a/include-fd/stdplus/fd/ops.hpp
+++ b/include-fd/stdplus/fd/ops.hpp
@@ -107,6 +107,12 @@
     return fd.bind(raw::asSpan<std::byte>(sockaddr));
 }
 
+template <typename SockAddr>
+inline void connect(Fd& fd, SockAddr&& sockaddr)
+{
+    return fd.connect(raw::asSpan<std::byte>(sockaddr));
+}
+
 inline void listen(Fd& fd, int backlog)
 {
     return fd.listen(backlog);
diff --git a/src/fd/impl.cpp b/src/fd/impl.cpp
index 22a1b3b..c2d5623 100644
--- a/src/fd/impl.cpp
+++ b/src/fd/impl.cpp
@@ -117,6 +117,15 @@
         "bind");
 }
 
+void FdImpl::connect(std::span<const std::byte> sockaddr)
+{
+    CHECK_ERRNO(
+        ::connect(get(),
+                  reinterpret_cast<const struct sockaddr*>(sockaddr.data()),
+                  sockaddr.size()),
+        "connect");
+}
+
 void FdImpl::listen(int backlog)
 {
     CHECK_ERRNO(::listen(get(), backlog), "listen");
