![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络编程
ZS_Wang_Blogs
嵌入式兴趣爱好者,为嵌入式而生
展开
-
1.进程间通信
在 Linux 下的多个进程间的通信机制叫做 IPC,它是多个进程之间相互沟通的一种方法。在 Linux 下有多种进程间通信的方法:1.半双工管道、FIFO(命名管道)2.消息队列3.信号4.信号量5.共享内存6.套接字socket等。使用这些通信机制可以为 Linux 下的网络服务器开发提供灵活而又坚固的框架1. 半双工管道管道是一种把两个进程之间的标准输入和标准输出连接起来...原创 2019-04-11 19:26:20 · 138 阅读 · 0 评论 -
Linux网络编程入门 (转载)
Linux网络编程入门 (转载)(一)Linux网络编程--网络知识介绍Linux网络编程--网络知识介绍客户端和服务端 网络程序和普通的程序有一个最大的区别是网络程序是由两个部分组成的--客户端和服务器端.客户端 在网络程序中,如果一个程序主动和外面的程序通信,那么我们把这个程序称为客户端程序。 比如我们使用ftp程序从另外一 个地...转载 2019-04-18 09:20:59 · 117 阅读 · 0 评论 -
10.TCP 网络编程流程及例子
TCP 网络编程是目前比较通用的方式,例如 HTTP 协议、FTP 协议等很多广泛应用的协议均基于 TCP 协议。TCP 编程主要为 C/S 模式,即客户端(C)、服务器(S)模式,这两种模式之间的程序设计流程存在很大的差别1. TCP 网络编程架构TCP 网络编程有两种模式,一种是服务器模式,另一种是客户端模式。服务器模式创建一个服务程序,等待客户端用户的连接,接收到用户的连...原创 2019-04-11 19:35:13 · 454 阅读 · 0 评论 -
9.TCP/IP协议栈——补充协议栈和协议数据格式
5.1 节对 ISO/OSI 的 7 层结构进行了简单的介绍,由于 ISO 制定的 OSI 参考模型过于庞大、复杂,在实现时造成了很多困难,从而招致了许多批评。在实际实现中,TCP/IP 协议栈获得了更为广泛的应用,目前主流的操作系统网络协议栈基本上采用了 TCP/IP 协议栈1. TCP/IP 协议栈参考模型经典的 TCP/IP 参考模型从上至下分为 4 个层次:应用层、传输...原创 2019-04-11 19:33:11 · 318 阅读 · 0 评论 -
8.主机字节序和网络字节序(面试会问)
网络字节序跟主机字节序有什么区别,这是我16年9月份校招面试腾讯被问到的一个问题,也是Linux服务器开发岗常考的面试题。字节序分为大端字节序和小端字节序大端字节序是指一个整数的高位字节(32-31bit)存储在内存的低地址处,低位字节(0-7bit)存储在内存的高地址处。小端字节序是指一个整数的高位字节(32-31bit)存储在内存的高地址处,低位字节(0-7bit)存储在内存...原创 2019-04-11 19:32:02 · 339 阅读 · 0 评论 -
7.IP地址分类与TCP/UDP端口
要想使网络设备或者主机能够连接到 Internet,必须为网络设备配置 IP 地址。由于在Internet 上 IP 地址是全世界唯一的,IP 地址可以标识一个主机。目前应用范围最广泛的因特网地址使用的是 IPv4(IP 第 4 版本)的 IP 地址,长为 32 位,由 4 组十进制数组成,每组数值的范围为 0~255,中间用点号(“.”)隔开,称之为四组“点分二进制”。例如,IP...原创 2019-04-11 19:30:55 · 761 阅读 · 0 评论 -
6.两台虚拟机的socket通信的例子和常见错误问题
1.在这里要说一下本地ip和自定义ip 一般虚拟机的本地ip为127.0.0.1,在配置文件/etc/hosts中可以看到 这样子 127.0.0.1 localhost 如果/etc/hosts的localhost为某ip,那么你在sockect中的ip也只能写为该ip地址 即: sockfd.sin_addr.s_addr=...原创 2019-04-11 19:30:07 · 1517 阅读 · 0 评论 -
5.Linux Socket Errno错误代码列表查询
使用 #include <errno.h> printf ("errno is: %d\n", errno);会打印数字序列,查表知道那个 2.使用 perror("如bind");会打印后面的文字介绍,如Address already in use Linux Socket Errno错误代码列表 ...原创 2019-04-11 19:29:24 · 1333 阅读 · 0 评论 -
4.网络协议类型
1.只基于TCP协议的协议: FTP: 文件传输协议, 是用于在网络上进行文件传输的一套标准协议。文件传送和文件访问之间的区别在于:前者由FTP提供,后者由如NFS等应用系统提供。 HTTP: 超文本传输协议, 是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准 HTT...原创 2019-04-11 19:28:54 · 1334 阅读 · 0 评论 -
3.一些名词
1.API(应用程序编程接口) 是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。API通过系统调用访问内核空间。 系统调用:操作系统提供给用户程序调用的一组“特殊接口,可以通过这组接口获得操作系统内核提供的服务。例如:创建进程、实 现进程调度、进程管理,进程间通信,文...原创 2019-04-11 19:28:21 · 105 阅读 · 0 评论 -
2.TCP和UDP的性质
TCP的性质 ----报文格式、连接释放、滑动窗口、流量控制和拥塞控制、差错控制1.TCP报文格式(1)TCP的固定首部长度为20字节,5行,一行是4字节,即32位。TCP首部的最长长度为60,由首部长度(4位,数据偏移(选项))确认,因为首部长度为4位,所以最大十进制是15,所以最大偏移是15*4字节=60字节,即最大可以15行 选项长度不能超过...原创 2019-04-11 19:27:42 · 329 阅读 · 0 评论 -
僵尸进程
1.僵尸进程:如果子进程先结束而父进程后结束,即子进程结束后,父进程还在继续运行但是并未调用wait/waitpid那子进程就会成为僵尸进程。这样会占用资源2.产生原因:a. 子进程结束后向父进程发出SIGCHLD信号,父进程默认忽略了它b. 父进程没有调用wait()或waitpid()函数来等待子进程的结束...原创 2019-04-18 09:33:01 · 255 阅读 · 0 评论