手写TCP服务器及其技术细节

<返回列表

此文章以记录个人学习tcp serve的点滴心得

了解C语言socket编程

能够独立编写tcp server代码

了解一定的tcp-server的细节

若能对读者有以上三个方面有所帮助,这将是我的荣幸

网络套接字

所谓套接字(Socket),就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制。从所处的地位来讲,套接字上联应用进程,下联网络协议栈,是应用程序通过网络协议进行通信的接口,是应用程序与网络协议栈进行交互的接口。简而言之,socket是网络上两个程序双向通讯连接的端点。 Linux最显著的特色——万物皆文件,在网络编程这里也体现得淋漓尽致。

既然万物皆文件,那么socket也可以理解为文件,针对Socket这个文件,可以使用打开(open)、读写(write、read)和关闭(close)来操作,自然会有对应的socket函数对其进行操作(可看最基本的网络套接字函数这一章)

最基本的网络套接字函数

若对基本的套接字函数了解较多,可直接跳过这块

socket函数

man 2 socket

依赖头文件
函数原型

int socket(int domain, int type, int protocol);

创建一个套接字

参数说明

int domain

domain指定使用何种的地址类型

可供选择的参数:AF_INET【IPv4】、AF_INET6【IPv6】、AF-UNIX【UNIX本地域协议族】

这些AF_*都定义在 bits/socket.h头文件中

int type

设置通信的协议类型

可供选择的参数:SOCK_STREAM、SOCK_DGRAM

SOCK_STREAM - TCP

SOCK_DGRAM - UDP

可添加的参数: SOCK_NONBLOCK【新创建的socket是非阻塞的】、SOCK_CLOEXEC【fork出的子进程关闭该socket】

国内免备案VPS301跳转服务器国内免备案服务器域名被墙跳转301,绕过信息安全中心不能放违反法律法规内容!(北京免备案镇江免备案江苏免备案辽宁免备案vps山东联通免备案
分享新闻到:

更多帮助

国内服务器免备案攻略:轻松搭建高效网站新方法

新闻中心 2026-03-16
很多想搭建个人网站或企业站点的朋友,经常会遇到关于备案的困扰。大家都知道,在国内搭建网站通常需要通过相关流程进行相关手续,这在某些情况下会延缓网站的上线进度,甚···
查看全文

2026年国内免备案虚拟主机推荐轻松建站首选方案

新闻中心 2026-03-16
随着互联网环境不断发展,个人和企业搭建网站的需求也同步增长。在选择一款合适的建站基础服务时,很多人都会遇到主机选择的难题,尤其是在政策日益趋严的背景下,备案流程···
查看全文

国内免备案301跳转解决方案:快速实现高效网站迁移

新闻中心 2026-03-14
在网站运营和管理的过程中,很多站长都会遇到内容迁移或更换域名的需求,尤其是在业务发展或品牌升级阶段。传统的网站迁移往往需要备案,流程复杂且时间较长,不仅耗费精力···
查看全文
返回更多帮助