来源:公众号【编程珠玑】
作者:守望先生
前言
在《网络编程-一个简单的echo程序(0)》中已经对程序整体有了宏观的认识,本文将抽丝剥茧,逐步深入了解echo程序。
程序代码
由于代码内容较多,具体代码可访问《网络编程-一个简单的echo程序(0)》或者访问:
https://www.yanbinghu.com/2019/07/07/40135.html
数据结构与函数详解
既然要详细了解echo程序,就必须对其中用到的一些数据结构和接口有所了解。在echo程序中,我们主要用到了以下的数据结构或函数:
当然需要清楚的是,网络编程中用到的数据结构或函数远不止上面提到的这些,但这些都是最基本的。下面的解释都基于echo程序,多数函数都使用默认的阻塞模式。
htons/ntohs
htons/ntohs这两个宏分别用于将本地字节序转为网络字节序和将网络字节序转为本地字节序。关于字节序,本文不展开介绍,可以参考《谈一谈字节序的问题》,如何判断当前机器的字节序,也是面试中经常到的题目。
inet_pton/inet_ntop
inet_pton/inet_ntop分别用于将字符串ip地址转为4字节大小的无符号整型和将无符号整型转换为ip地址字符串。例如:
//来源:公众号【编程珠玑】网站:https://www.yanbinghu.com
#include<stdio.h>
#include <arpa/inet.h>
int main(void)
{
char ip[16] = "192.168.0.1";
struct