第十章
TCP 协议,即传输控制协议(Transport Control Protocol),是一种面向连接的、
可靠的传输层协议。TCP 协议是为了在主机实现高可性包交换的传输协议,在计算机网络中
用途很广泛。本章将通过 C 程序语言编程来实现一个基于 TCP 协议的程序,旨在向读者介
绍 TCP 的实现原理,并进一步向读者介绍 C 语言网络编程技术。关于 TCP 的原理知识,读
者可参见第 2 章。
10.1 设计目的
本章通过 C 语言编程实现了一个 TCP 程序——包括服务器端程序和客户端程序,程
序能实现基本的通信。通过本程序向读者展示了 TCP 的服务器端和客户端的操作流程,用
以加深读者对 TCP 原理的理解。本章的部分知识点在前面章节也有所涉及,读者可以由此
加深印象。
通过本章的学习,读者应该对以下知识点有一定的了解:Winsock 版本的设置、
Winsock 库的加载以及 Winsock 错误号的获取;套接字的创建和关闭;TCP 服务器的操作流
程、客户端的操作流程;套接字的绑定、侦听、连接和接收操作;数据报的发送和接收;
根据地址获取主机、根据主机名获取 IP 地址等信息;线程饿创建和参书设置;字符串比较
函数的使用等。
读者可以在本章的基础上加以拓展,深刻理解 TCP 原理,掌握 TCP 编程方法和技巧,
开发出自己的 TCP 程序。
10.2 功能描述
本章用 C 语言实现了基于 TCP 的服务器端和客户端程序,能实现基本的 TCP 通信。
其主要的功能包括如下。
(1) 服务器端能以默认选项(服务器端 IP 地址或主机名、端口号)启动,提供服务
功能。
(2) 服务器端能根据用户指定的选项(服务器端 IP 地址或主机名、端口号)启动,
提供服务和功能。
(3) 服务器以错误选项启动时,会提示错误信息,并终止程序。
(4) 客户端能连接到服务器端,发送消息到服务器端,同时也能接收来自服务器的
响应。
(5) 客户端不能连接到服务器端时,能输出错误信息。
(6) 客户端以错误选项启动时,会提示错误信息,并终止程序。
10.3 总体设计
评论0