终于把《TCP/IP网络编程—by尹圣雨》看完啦(ヽ(✿゚▽゚)ノ),学完计网再去看网络编程会有更好的理解,用到了系统编程和网络相关知识,对于Linux下的POSIX需要更深入的了解。对于书中的例子都自己复现了一下,对代码量也有一定的提升,书中有一些例子在复现过程中会存在一些问题(可能是Linux版本更新的问题hhh)接下来的重点应该是关注于Lin…
带外数据比普通数据具有更高的优先级,TCP没有真正的带外数据,而是提供了一个我们要讨论的紧急模式,TCP将数据放置在套接字发送缓冲区的下一个可用位置,并设置这个连接的TCP紧急指针(urgent pointer)为下一个可用位置,TCP紧急指针有一个比用MSG_OOB标志写入的数据多一个字节的序列号。由于接收端的带外缓冲只有1Byte所以发送端发送…
上次记录了TCP的socket编程,对于UDP来说,其本身有优点也有缺点,无需连接,单播,组播,广播,传输快的优点多用于流媒体传输,谷歌基于UDP提出了QUIC的传输方式,这里主要讨论写一个简单的UDP协议传输的两个实体。首先需要理解client与server之间的交互,如图所示: 对于client而言,只需要知道对方的IP和端口就可以发送数据,而…
一直学习计网的理论部分,接下来开始开始编程部分啦(Talk is cheap.Show me your code)。这个实验目的是实现编写server端和client端,在Linux系统下编写程序,加上原来的知识能够把这个实验完成。socket是一个整数,类似于文件描述符,这个整数作为程序与操作系统之间的沟通渠道。 首先需要理解server和cli…
利用g++编写第一个c++程序 1.首先直接用vim创建一个cpp文件:vim hello.cpp可以直接开始编写c++程序 2.利用g++进行编译文件:g++ hello.cpp -o hello,其中hello为编译之后的文件 3.利用命令./hello可以在命令窗口输出编译之后的文件 vim命令esc退出输入,i表示插入,:wq保存并退出gg…