# Network Programming

Published articles for Network Programming.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Concurrent Servers: Part 8 - Go

DevFeed: [Concurrent Servers: Part 8 - Go](<https://devfeed.tech/articles/concurrent-servers-part-8-go-35141.md>)

Original publisher: [Read original article](<https://eli.thegreenplace.net/2026/concurrent-servers-part-8-go/>)

Author: Eli Bendersky

Published: 2026-08-22T14:52:00Z

Content type: tutorial

Language: en

Sources: [Eli Bendersky](<https://devfeed.tech/sources/eli-bendersky.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [Server](<https://devfeed.tech/topics/server.md>), [Concurrent Programming](<https://devfeed.tech/topics/concurrent-programming.md>), [Network](<https://devfeed.tech/topics/network.md>)

Tags: [capacity](<https://devfeed.tech/tags/capacity.md>), [concurrency](<https://devfeed.tech/tags/concurrency.md>), [concurrent](<https://devfeed.tech/tags/concurrent.md>), [go](<https://devfeed.tech/tags/go.md>), [goroutines](<https://devfeed.tech/tags/goroutines.md>), [misc](<https://devfeed.tech/tags/misc.md>), [network-programming](<https://devfeed.tech/tags/network-programming.md>), [servers](<https://devfeed.tech/tags/servers.md>), [threads](<https://devfeed.tech/tags/threads.md>)

### AI overview

Part 8 of a series on concurrent network servers explains how Go implements sequential and concurrent servers. It demonstrates serving each client with a lightweight goroutine and discusses why concurrency may still need to be limited, including when tasks compete for finite CPU capacity.

### Source excerpt

This is part 8 in a series of posts on writing concurrent network servers. In this part, we'll switch to Go and see how it tackles the challenges described earlier in the series. All posts in the series: Part 1 - Introduction Part 2 - Threads Part 3 - Event-driven Part 4 - libuv ...

## Concurrent Servers: Part 7 - Rust

DevFeed: [Concurrent Servers: Part 7 - Rust](<https://devfeed.tech/articles/concurrent-servers-part-7-rust-35140.md>)

Original publisher: [Read original article](<https://eli.thegreenplace.net/2026/concurrent-servers-part-7-rust/>)

Author: Eli Bendersky

Published: 2026-08-15T16:41:00Z

Content type: tutorial

Language: en

Sources: [Eli Bendersky](<https://devfeed.tech/sources/eli-bendersky.md>)

Topics: [Rust](<https://devfeed.tech/topics/rust.md>), [Concurrent Programming](<https://devfeed.tech/topics/concurrent-programming.md>), [Network](<https://devfeed.tech/topics/network.md>), [Server](<https://devfeed.tech/topics/server.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [concurrency](<https://devfeed.tech/tags/concurrency.md>), [concurrent](<https://devfeed.tech/tags/concurrent.md>), [misc](<https://devfeed.tech/tags/misc.md>), [network](<https://devfeed.tech/tags/network.md>), [network-programming](<https://devfeed.tech/tags/network-programming.md>), [programming](<https://devfeed.tech/tags/programming.md>), [programming-language](<https://devfeed.tech/tags/programming-language.md>), [rust](<https://devfeed.tech/tags/rust.md>), [servers](<https://devfeed.tech/tags/servers.md>), [threads](<https://devfeed.tech/tags/threads.md>)

### AI overview

Part 7 of a series on concurrent network servers explains how to implement the series' state-machine protocol in Rust. It covers a sequential server, one thread per client, and a fixed thread pool.

### Source excerpt

This is part 7 in a series of posts on writing concurrent network servers. In this part, we discuss how the challenges described in earlier parts are tackled in the Rust programming language. All posts in the series: Part 1 - Introduction Part 2 - Threads Part 3 - Event-driven Part 4 - libuv ...

## epoll: The API that powers the modern internet

DevFeed: [epoll: The API that powers the modern internet](<https://devfeed.tech/articles/epoll-the-api-that-powers-the-modern-internet-35395.md>)

Original publisher: [Read original article](<https://darkcoding.net/software/epoll-the-api-that-powers-the-modern-internet/>)

Author: Graham King

Published: 2022-01-03T23:46:10Z

Content type: tutorial

Language: en

Sources: [Graham King](<https://devfeed.tech/sources/graham-king.md>)

Topics: [Linux](<https://devfeed.tech/topics/linux.md>), [networking](<https://devfeed.tech/topics/networking.md>), [Linux Kernel](<https://devfeed.tech/topics/linux-kernel.md>), [systems](<https://devfeed.tech/topics/systems.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [epoll](<https://devfeed.tech/tags/epoll.md>), [history](<https://devfeed.tech/tags/history.md>), [linux](<https://devfeed.tech/tags/linux.md>), [linux-kernel](<https://devfeed.tech/tags/linux-kernel.md>), [network-programming](<https://devfeed.tech/tags/network-programming.md>), [networking](<https://devfeed.tech/tags/networking.md>), [programming](<https://devfeed.tech/tags/programming.md>), [software](<https://devfeed.tech/tags/software.md>)

### AI overview

This article explains how Linux's epoll API addresses the C10K problem by efficiently handling network connections while clients or servers wait for data. It connects epoll with Go and nginx server software and contrasts it with process and thread pools, while noting related polling approaches on other operating systems.

### Source excerpt

Linux's epoll API solved the C10K problem, enabling fast and afforable Internet services.

## Raw sockets in Go: Link layer

DevFeed: [Raw sockets in Go: Link layer](<https://devfeed.tech/articles/raw-sockets-in-go-link-layer-35450.md>)

Original publisher: [Read original article](<https://darkcoding.net/software/raw-sockets-in-go-link-layer/>)

Author: Graham King

Published: 2015-01-31T20:55:57Z

Content type: tutorial

Language: en

Sources: [Graham King](<https://devfeed.tech/sources/graham-king.md>)

Topics: [Go Language](<https://devfeed.tech/topics/go-language.md>), [Network](<https://devfeed.tech/topics/network.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Kernel](<https://devfeed.tech/topics/kernel.md>), [POSIX](<https://devfeed.tech/topics/posix.md>), [Unix](<https://devfeed.tech/topics/unix.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Protocol (disambiguation)](<https://devfeed.tech/topics/protocol.md>), [Internet](<https://devfeed.tech/topics/internet.md>), [HTTP](<https://devfeed.tech/topics/http.md>)

Tags: [c](<https://devfeed.tech/tags/c.md>), [go](<https://devfeed.tech/tags/go.md>), [headers](<https://devfeed.tech/tags/headers.md>), [http](<https://devfeed.tech/tags/http.md>), [ip](<https://devfeed.tech/tags/ip.md>), [ipv4](<https://devfeed.tech/tags/ipv4.md>), [ipv6](<https://devfeed.tech/tags/ipv6.md>), [linux](<https://devfeed.tech/tags/linux.md>), [network](<https://devfeed.tech/tags/network.md>), [network-programming](<https://devfeed.tech/tags/network-programming.md>), [posix](<https://devfeed.tech/tags/posix.md>), [programming](<https://devfeed.tech/tags/programming.md>), [protocol](<https://devfeed.tech/tags/protocol.md>), [raw](<https://devfeed.tech/tags/raw.md>), [socket](<https://devfeed.tech/tags/socket.md>), [software](<https://devfeed.tech/tags/software.md>), [tcp](<https://devfeed.tech/tags/tcp.md>), [udp](<https://devfeed.tech/tags/udp.md>), [unix](<https://devfeed.tech/tags/unix.md>)

### AI overview

A technical tutorial on using raw sockets in Go at the link layer. It explains receiving IP packets, inspecting and crafting IP headers, selecting address families and protocols, sending ICMP echo requests, and observing kernel responses. It also discusses Linux behavior and portability limitations for raw sockets.

### Source excerpt

Diving deep into raw sockets and IP headers with Go: A technical exploration.