
网络
文章平均质量分 93
网络编程
little Y
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
进程线程(一.2)
进程:进程是操作系统进行资源分配和调度的基本单位,它是执行中的程序的一个实例,包括程序代码、当前活动、相关的数据结构以及一个或多个执行线程。线程:线程是进程内的一个执行单元,也是处理器调度的基本单位。多个线程可以并行执行于同一个进程中,共享该进程的内存和资源。会完美拷贝父进程中的所有资源(堆栈,代码段,数据段…)子进程会从fork的下一句话开始,会存在父子进程,通过返回值来判断是父进程还是子进程在执行子进程永远都是在fork的下一句开始执行的(会用到fork之前定义的资源)原创 2024-06-03 18:19:32 · 682 阅读 · 0 评论 -
网络编程(八)
SQLite是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。它是一个零配置的数据库,这意味着与其他数据库一样,您不需要在系统中配置。就像其他数据库,SQLite 引擎不是一个独立的进程,可以按应用程序需求进行静态或动态连接。SQLite 直接访问其存储文件。原创 2024-06-03 17:16:44 · 1073 阅读 · 0 评论 -
网络编程(七)
客户端(client):创建的bbb套接字文件只是用来收数据,使用服务端创建的aaa套接字文件来发数据。服务端(server):创建的aaa套接字文件只是用来收数据,使用客户端创建的bbb文件来发数据。socket同样也可以用于本地通信(类似:管道,共享内存,消息队列,信号。和其他进程间通信方式相比使用方便、效率更高。分为流式套接字和用户数据报套接字。在bind阶段才创建s文件。常用于前后台进程通信。原创 2024-06-03 16:23:22 · 463 阅读 · 0 评论 -
网络编程(六)
广播是在局域网内实现的(发送到广播地址上的消息是会被局域网内同网段的所有主机进行接收,接收方的主机不能拒绝,除非接收方关闭了相应的接收消息的进程。224.0.0.0~224.0.0.255为预留的组播地址(永久组地址),地址224.0.0.0保留不做分配,其它地。发送方可以将数据给局域网内某网段的广播地址上推送消息,同网段之后的所有主机就可以接收到。广播地址的形式:保留网络地址不变(子网掩码也是默认形式)的情况下,将主机地址的最大值取到。过多的广播会大量占用网络带宽,造成广播风暴,影响正常的通信。原创 2024-06-03 16:13:07 · 476 阅读 · 0 评论 -
网络编程(五)
如果在调用alarm时,以前已为该进程设置过闹钟时间,而且它还没有超时,则该闹钟时间的剩余时间值作为本次alarm函数调用的值返回,以前登记的闹钟时间则被新值代换。如果有以前登记的尚未超过的闹钟时间,而新设的闹钟时间值为0,则取消以前的闹钟时间,其剩余时间值仍作为函数的返回值。参数2:对于该信号的处理函数(该函数是用户自定义的,且返回值类型void ,形参是一个int的函数的地址)//当定时器指定的时间到了时,它就向进程发送SIGALARM信号,信号的默认操作是结束进程.int sa_flags;原创 2024-06-03 16:00:47 · 1075 阅读 · 0 评论 -
网络编程(四)
》运行服务器s,运行一个客户端c1,此时连接成功且通信没有问题,再运行一个客户端c2,发现显示connect OK(说明客户端和服务器进行了三次握手,但不代表服务器就一定能处理客户端的业务—》除非服务器执行了accept后拿到与c2通信的新的套接字),但是c2与服务器的业务对接不了,此时c1选择结束结束业务,此时s也跟着退出了。思想:主进程专门用于连接多个客户端的请求,若有一个客户端连接进来,主进程就创建一个子进程,用该子进程来创建客户端的业务数据。(accept之后的),服务器不会与客户端进行通信!原创 2024-06-03 15:17:08 · 600 阅读 · 0 评论 -
网络编程(三)
void FD_ISSET(int fd, fd_set *fdset) //判断fd是否在fdset集合中,发生变化,发生返回true。进程调用非阻塞IO函数,去获取数据或写数据,若没有数据提供或写缓冲区已满,该函数会返回一个非正确的值,当前进程不会被阻塞。//将新的flag作用给文件描述符的状态标志。void FD_CLR(int fd, fd_set *fdset) //将fd从fdset里清除。void FD_SET(int fd, fd_set *fdset) //将fd加入到fdset。原创 2024-06-03 14:54:18 · 864 阅读 · 0 评论 -
网络编程(三)
该结构体总共占16字节,两个结构体可以强转的前提是所占空间大小相同,借用struct sockaddr_in结构体存储,之后强转为struct sockaddr。数据包以独立数据包的形式被发送,不提供无差错保证,数据可能丢失或重复, 顺序发送,可能乱序接收。//参数2:指向网络终端主机信息的结构体(协议域,IP地址,端口号)//返回值:成功返回0,失败返回-1,更新errno。//参数3:其他协议–>0:自动匹配其他需要的协议。//参数3:struct sockaddr的大小。原创 2024-06-03 11:18:27 · 944 阅读 · 0 评论 -
网络编程(二)
/返回值:成功返回新的文件描述符,标识一个新的网络软通道,用作收发正文数据(recv/send);//返回值:成功返回文件描述符,标识socket网络软通道;//返回值:大于0,发送的字节个数;//参数2:指向网络终端主机信息的结构体(协议域,IP地址,端口号)//返回值:成功返回接收的字节数;//参数3:指向struct sockaddr的大小的指针。//返回值:成功返回0;//返回值:成功返回0,失败返回-1,更新errno。//参数3:其他协议–>0:自动匹配其他需要的协议。原创 2024-06-03 11:08:06 · 1019 阅读 · 0 评论 -
网络编程(一)
网络的分层模型和每层所使用的协议的集合。原创 2024-06-03 10:40:23 · 860 阅读 · 0 评论 -
进程与线程(四)
IPC对象和文件一样,必须先创建,每个IPC对象都有特定Key值,ID值,拥有者,权限和使用大小等,但其读写操作不能使用普通文件的read/write方式。1、共享内存是一种最为高效的进程间通信方式,进程可以直接读写内存(映射之后的内存空间),而不需要任何数据的拷贝。2、为了在多个进程间交换信息,内核专门留出了一块内存区,可以由需要访问的进程将其映射到自己的私有地址空间。用户可以在消息队列中添加消息、读取消息等。key的来源1:key值是被创建出来的,通信双方只要使用同样的方式,即可获取到同一个Key。原创 2024-06-01 23:27:37 · 1228 阅读 · 0 评论 -
进程与线程(三)
注意:每个进程只能有一个闹钟时间。如果在调用alarm时,以前已为该进程设置过闹钟时间,而且它还没有超时,则该闹钟时间的剩余时间值作为本次alarm函数调用的值返回,以前登记的闹钟时间则被新值代换。如果有以前登记的尚未超过的闹钟时间,而新设的闹钟时间值为0,则取消以前的闹钟时间,其剩余时间值仍作为函数的返回值。向管道中写入数据时,linux将不保证写入的原子性,管道缓冲区一有空闲区域,写进程就会试图向管道写入数据。当定时器指定的时间到了时,它就向进程发送SIGALARM信号,信号的默认操作是结束进程.原创 2024-06-01 22:55:02 · 1102 阅读 · 0 评论 -
进程与线程(二)
类似地,在进程切换时,涉及到当前进程CPU环境的保存及新被调度运行进程的CPU环境的设置, 而线程的切换则仅需保存和设置少量寄存器内容,不涉及存储器管理方面的操作,所以就切换代价而言,进程也是远高于线程的。而在引入线程的操作系统中,则把线程作为调度和分派的基本单位,而进程作为资源拥有的基本单位,把传统进程的两个属性分开,使线程基本上不拥有资源,这样线程便能轻装前进,从而可显著地提高系统的并发程度。正因如此,在系统中所设置的进程,其数目不宜过多,进程切换的 频率也不宜过高,这也就限制了并发程度的进一步提高。原创 2024-06-01 21:59:23 · 813 阅读 · 0 评论 -
进程与线程(一)
并发是什么?—》多个任务同时运行任务是什么?—》就是一个应用程序思考:程序是如何产生的?—》程序:一组能被计算机直接识别的有序指令的集合所以:程序是被编译生成的 eg:gcc test.c -o App (App就是一个程序)程序在外存(U盘,硬盘)上存储(静态的概念)一个程序一旦被运行起来,就会产生一个进程(动态的:被创建,被调度,被消亡)原创 2024-06-01 20:48:22 · 864 阅读 · 0 评论 -
文件IO(三)
动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在,因此代码体积较小。stat和lstat没有任何区别,但是当pathname是一个链接文件的时候,lstat会返回链接本身的信息,而不是源。O_SYNC:要求所有I/O操作是同步的,即写入操作完成后,才返回。O_APPEND:将文件指针设置到文件末尾,以便所有写入操作都追加到文件末尾,而不是覆盖现有内容。打开键盘的设备文件之后,如果按键被按下或者被抬起,内核会将键盘触发的事件发送给应用程序。原创 2024-06-01 19:56:22 · 1074 阅读 · 0 评论 -
文件IO(二)
函数功能:读stream指示的文件,成功返回读到的数据(无符号的char强转成的int),失败或者读完了返回EOF(-1)函数功能:从stream指示的文件中读nmemb个数据,每一个数据有size个大小,到ptr指示的空间中。函数返回值:指针,成功返回打开的文件的流指针,失败返回NULL,并更新errno。w+ 以可读可写的形式打开文件,文件存在清空打开,文件不存在新建,光标置于开头。w 以只写的形式打开文件,文件存在清空打开,文件不存在新建,光标置于开头。原创 2024-05-29 14:37:52 · 957 阅读 · 0 评论 -
文件IO(一)
文本文件,在存储的时候,需要数据和阿斯玛转换,一般存储数据量比较大的数据,最终结果。:存储的是数据的阿斯克码(0~127),EOF(end of file,-1)3.有缓冲区的操作,标准IO的效率比文件IO的效率高。1.标准IO由ANSI C标准定义, 库函数提供的。1.由POSIX定义,操作系统提供的系统调用提供的。s 套接字(Socket)文件 跨主机之间的通信。在Linux系统下,文件共分为7类。:标准IO,内存上的缓冲区,库函数。:存储的是数据在内存上的原样存储。4.一般以文件描述符作为操作依据。原创 2024-05-28 14:46:13 · 592 阅读 · 0 评论 -
2020/1/20 1.2互联网的概述(1.2.1-1.2.2)
《计算机网络》——谢希仁著每日一句:这个世界上肯定有另一个我,坐着我不敢做的事,过着我想过的生活。1.2互联网的概述1.2.1网络的网络计算机网络:(简称为网络)由若干结点和连接这些结点的链路组成; 其中的结点可以是计算机、集线器、交换机或路由器等 互连网:(网络的网络)网络之间还可以通过路由器互连起来,构成了一个覆盖范围更大的计算机网络。 网络把许多计算机连接在一...原创 2020-01-20 19:28:51 · 336 阅读 · 0 评论 -
2020/1/19计算机网络在信息时代的作用
《计算机网络》---谢希仁 著每日一句:请不要为了那页已消逝的时光而惆怅,如果这就是成长,那么就让我们安之若素。——林海音《城南旧事》1.1计算机网络在信息时代的作用1.三大网络:电信网络,有线电视网络,计算机网络2.电信网络:向用户提供电话,电报及传真等服务。3.有线电视网络:向用户传送各种电视节目。4.计算机网络:使用户能够在计算机之间传送数据文件。5.这三...原创 2020-01-19 19:04:04 · 542 阅读 · 0 评论