就当是迷你版的UNP吧

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

UNP很好,非常好,太好了。

UNIX/Linux下的网络编程是无法避免Richard StevensUNP的。但是说实在的,UNP太厚实了,是滴,全面,细腻是很好滴,但是对于初学者们来说,往往更重要的是尽快对socket编程上手,我想基本上只有还算上过《计算机网络》这门课的,对网络基本原理,OSI模型,对TCP/IP基本概念还是有的吧,那么接下来就可以写socket,不一定要写的多好多优雅,考虑多全面,作为初学者,您不能要求自己太高,这并不是浮躁。对于学编程,尤其是定领域技术的编程,我一贯的主张就是要尽快统观全局,对全局的每个部分最关键的概念、编程接口和编程结构有简明但不失深入的了解,我窃称之为:第一阶段。然后我们就有基础和信心去啃大砖头,比如UNP,同时进行深入的实践和调试,这是第二阶段第三阶段,就是直接上项目吧,也可以去调调开源的代码。 

第一阶段,时间最好要控制在3~5天之内,当然像The Definitive Guide to Linux Network Programming(下面简称DGLNP)这样的英文书,还是电子版的,就发挥下传统美德,硬着头皮一周最不济10天看完吧。时间越短越不会遗忘,同时会觉得有阅读的成就感。 

第二阶段,就可以搬起UNP来啃了,花多少时间看自己的悟性吧。反正我还在-ing。这时候Stevens那种一丝不苟、细腻推敲、深入浅出,不但可以弥补之前第一阶段留下的知识、经验的漏洞,还可以潜移默化培养我们思维的严谨细腻品质。。。 
   
♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠♠

上面八卦了。DGLNP就是这样一本适合第一阶段的书,对于网络编程,关键有三: 
   
   A. 要理解网络组成原理与体系结构; 
   B. 要理解协议的特点及各种协议之间的关系/对比; 
   C. 有了前两个,就要开始熟悉API运用。 
   
DGLNP
基本上就是按三个面来写的。A算是最基本的了吧,比如俺们都搞CS的,不会connection-orientedconnectionless的概念都没有吧,不管有没有,作者告我们,Ethernet要懂吧,网络地址要懂吧,TCP/UDP/IP是啥,必须滴对于B,这本书没特地的讲,而是揉合在C里面一起讲,这也靠谱,其实也简单,说白了就是TCP是面向连接的可靠报文服务,UDP不可靠,它们又都以IP datagram为基础。反映到编程接口(API)上,程序怎么表示这些概念,怎么描述这些不同呢?知道程序的表示法——而不是俺们银类的自然语法描述法——之后,就完全可以大刀长枪搞具体运用了,于是自然而然引入client-server模型了,再挖掘Unix/Linux系统特点——尤其,I/O..... 

我喜欢简洁直接,喜欢扼要。尤其是初入门的时候。。当然,话还得说回来,UNIX/Linux 网络编程是水很深的东西,所以标题说了,就当是迷你版的UNP吧。任重而道远。程序猿的脚步是不会停的。。。。

UNP学习第一步:unp.h的安装及第一个程序的运行 UNP学习第一步:unp.h的安装及第一个程序的运行unp.h的安装源代码编译静态库安装运行第一个程序启动daytime服务 unp.h的安装 源代码编译 在书籍网站(http://www.unpbook.com/src.html)上下载本书源码 解压到本地文件夹tar -xzf unpv13e.tar.gz 进入解压后的文件夹,阅读README说明文件。根据说明文件的要求,按如下步骤完成配置。 运行./configure,用于分析本地环境,为代码进行正确配置 进入lib文件夹,运行make ,用于编 阅读详情

相关推荐

编译UNP源码

UNP需要用到官方的源码,记录一下折腾的记录。源码下载地址 http://www.unpbook.com 下载源码后,解压出文件夹unpv13e,cd进入后,依次进行下面操作。 ./configure cd lib make 这两步没有问题,出现warning也不用管,然后是: cd ../libfree make 这里报错: inet_ntop.c: In funct...

yao5hed的专栏 697

unp.h编程环境配置

下载源码 www.unpbook.com 解压 tar -zxvf unpv13e.tar.gz 解压后我们可以看到unpv13e目录下有一个README文件 里面的提示内容如下 QUICK AND DIRTY =============== Execute the following from the src/ directory: #配置脚本,用于读取机器信息以更改各个Makefile文件 ./configure # try to figure out all implementatio

shadowgully的博客 1214

linux环境编程apue和unp,《APUE》和《UNP》文件的编译和使用(转载)

source code中的README只提供了编译方式,要是自己敲代码的话,需要稍微修改一下。1.编译《APUE》在那里编译都是一样,我们应该的是libapue.a 和apue.h文件。我使用的目录是/home/dan/download/apue.2e/修改Make.defines.linux文件中,WKDIR=/home/dan/download/apue.2e在我的机器上编译时,提示ARG_M...

weixin_39830917的博客 942

unp.h怎么使用

1.官网下载unp.h,点击下载unp.h 2. 将文件拉到Ubuntu虚拟机的linux系统的文件夹中 3. 打开shell,cd 文件夹 4. 解压 tar -zxvf unpv13e.tar.gz 5. 进入解压好的unpv13e 文件夹中: cd unpv13e 6. shell输入命令并执行: ./configure 7. 打开lib文件夹 :cd lib 8. 执行make (可能需要安装make :sudo apt install make) 编译成功生成静态库libunp.a 然后在unp

qq_42764348的博客 752

UNIX网络编程配置unp.h头文件

文章目录1.下载命令2.解压unpv13e3.查看README3.1配置脚本3.2创建lib库3.3创建libfree3.4创建libroute3.5创建libxti库3.6使用客户端程序测试4.配置unp.h头文件到处可用5.编写程序验证 unp是unix 网络编程的缩写。 环境:centos7.4 下载地址:http://www.unpbook.com/unpv13e.tar.gz 1.下载命令 wget http://www.unpbook.com/unpv13e.tar.gz 2.解压unpv13

ASCE_S的博客 2780

UNIX网络编程之旅-配置unp.h头文件环境

最近在学习Unix网络编程UNP),书中steven在处理网络编程时只用了一个#include “unp.h”  相当有个性并且也很便捷于是我把第三版的源代码编译实现了这个过程,算是一种个性化的开发环境的搭建吧,顺便把过程记录下来,以便自己以后查阅。首先去网上找到源代码包unpv.13e.tar.gz 一找一大堆解压缩到你的某个目录,unpv13e里面大致有这些目录├── aclocal.m4 ├── advio ├── bcast ├── config.guess ├── config.h ├── co

wd4084的专栏 7829

APUE和UNP1/2(包裹函数)

本文,记录与分析apue与unp1/2的库、demo的解析与使用。分析步骤:解析包裹函数,并对比非包裹函数的使用情况和案例分析,以此来理解”包裹“一词。讲述错误处理函数中使用到的Linux syslog,并根据此讲述守护进程的基本概念。包裹函数(错误处理函数解析)     在学习APUE、UNP1/2的这三套书籍时候,发现,其实可以使用强大的包裹函数,直接封装了错误信息提示,为调试代码,维护代码,...

浪风一骑 579

Unp4k 项目使用教程

Unp4k 是一个用于解密和提取 Star Citizen 游戏中的 `.p4k` 文件的工具。`.p4k` 文件是 Star Citizen 游戏使用的压缩包格式,通常包含游戏资源和数据。Unp4k 项目提供了一个命令行工具和一个图形用户界面(GUI)工具,帮助用户轻松地解压和查看这些文件的内容。 ## 2、项目快速启动 ### 安装 1. 下载 `unp4k-suite-v3.3.x.z...

gitblog_00413的博客 726

(转载)编译UNP源码

本文来自和另一篇博客转载 再三声明,本文转载于另一篇博客 《编译UNP源码》,这里附上原文地址 https://blog.csdn.net/yao5hed/article/details/81055577#commentBox 由于本人通过该博客成功编译了 UNP 源码,非常的想要将这篇博客转载出来给更多人看到,于是就有了这篇博客。 希望大家可以到原博客上给作者点个赞,谢谢大家:) 正文 ...

(ÒωÓױ) 537

Unix网络编程UNP)开发环境搭建

UNP源码地址:http://www.unpbook.com/src.html Linux环境搭建 下载UNP源码 参照README进行编译 $ ./configure $ cd lib $ make $ cd ../libfree $ make 如果第2次make出错,则需要修改libfree下的inet_ntop.c文件,将inet_ntop.c文件第60行的size_t size;...

u013682397的博客 591

linux下setsockopt函数(代码摘自UNP

以下的代码摘自UNP,我在学习UNP这本书的时候,有时候想把书中的代码敲一敲,像这种比较繁琐的代码我还是想着直接拿源码用,而不是自己再去敲一份。 我一开始以为setsockopt是跟fcntl一样的,要先取出来原先设置的值,在做一个|(与运算),然后再把新值设置。setsockopt只要你设置了就行,并不需要获取原先的值再设置 /* include checkopts1 */ /* *INDENT-OFF* */ #include <sys/types.h> #include <sys/s

dxgzg的博客 692

UNP】APUE和UNP前期准备与实例

本文参考网上的的资料较多

Code for Yun 2014

UNP源码使用及编译

本文针对《网络编程 卷1》unp.h 头文件及其编译问题进行记录,本书源码下载地址 http://www.unpbook.com首先进行编译,在目录 unpv13e下依次执行以下步骤: ./configure cd lib make cd ../libfree make cd ../libroute make //这一

jjcoder的专栏 3181

UNIX网络编程 UNP 卷2 第一章

今天开始拜读UNP这部神作了~~~ 第一章主要是简介内容,包括对经典IPC和同步机制的描述。虽然卷2主要是讲解IPC的,但这个IPC包括了平常所说的进程间通讯和同步。 PIPE     FIFO    Message Queue   Mutex   Locks  Semaphores    Shared memory  RPC  socket(主要在卷1) 本章主要分析了IPC对象的持续性:process、kernel和filesystem三种类型的持续性,可以由下图表示:  

疯狂算法~ 1788

Unix NetWork Programming:配置unp.h头文件环境

在阅读Unix网络编程(第三版)的过程中发现(UNP),书中的代码只需要包含#include "unp.h"即可编译,百度了一下,有不少配置unp.h头文件环境的文章,因此试着操作了一下,以便自己日后查阅。

liyuefeilong的专栏 4384

unp源码的编译与使用

一.unp源码编译与使用 1. 进入源码目录~/unpv13e/下 执行#./configure  在~/unpv13e/下就产生了config.h文件。 2. 执行命令#cd lib  然后执行#make 就在~/unpv13e/下产生了libunp.a 3. ~/unpv13e/下执行#cd  libfree 再执行#make 还是在~/unpv13e/下产生了libunp.a 4

惜暮 1454
上一篇: USACO Solution Code(6):Mixing Milk & Barn Repair
下一篇: C++类对象内存模型与成员函数调用分析(上)
fairyroad
博客等级 码龄17年 82粉丝 50原创
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值