计算机网络 -- 12




1 2

200x200


概述以太网、令牌环等等数据链路都有自己的寻址机制,通常地址是 48bit 的,这是使用数据链路的任何网络层都需要遵从的当一台主机接入以太网,把以太网数据帧发送到位于同一局域网的另一

#技术帖    #网络    #network    #ip   
描述符传递进程间通信的另一种方式是直接使用已经打开的描述符,比如 socket 描述符,这样一个进程在这个描述符上写数据,一个进程在这个描述符上读数据,即可实现通信下面的方法可以传递已打开的描述符:fork 返回后,子进程与父进程共享所有已打开的描述符,同时,exec 执行后,一般已打开的描述符状态仍然会保持不变但是限制在于必须是父子进程间通信并且只能由父进程传递给子进程下面即将介绍的 socketpair 函数则没有这样的限制socketpair 函数int socketpair (int family, int type, int protocol, int sockfd[2]); 定义于 sys/socket.h调用成功返回非 0 的连接描述符,出错返回 -1 family 参数必须为 AF_LOCALprotocol 参数必须为 0type 参数可以选择 SOCK_STREAM 或 DGRAM_STREAM新创建的两个套接字描述符作为 sockfd[0] 和 sockfd[1] 返回type 为 SOCK_S
#读书笔记    #技术帖    #linux    #unix   
daemon 进程关于 daemon 进程的介绍及创建以及需要注意的药店,请参考:daemon 守护进程 信号处理初始化nginx 有一个全局变量 signals,在 build configure 的时候写入到 os 目录下的 ngx_process.c 文件中,在不同的系统中取值不同,用来定义默认的信号处理方式// struct ngx_signal_t // 信号结构 {{{ typedef struct { int signo; char *signame; char *name; void (*handler)(int signo); } ngx_signal_t; // }}} // ngx_signal_t signals // 信号默认处理方式 {{{ ngx_signal_t signals[] = { { ngx_signal_value(NGX_RECONFIGURE_SIGNAL), "SIG" ngx_value(NGX_RECONFIGURE_SIGNAL), "reload", ngx_signa
#技术帖    #linux    #network    #c语言   
继承未关闭连接 -- ngx_add_inherited_sockets在这一过程中,nginx 将所有继承得到的连接加入到新的监听数组中,以便之后继续监听和使用这些连接// 获取所有继承连接fd的相关信息 if (ngx_add_inherited_sockets(&init_cycle) != NGX_OK) { return 1; } 将环境变量中保留的连接加入监听数组// static ngx_int_t ngx_add_inherited_sockets(ngx_cycle_t *cycle) // 继承环境变量中保留的连接 fd {{{ static ngx_int_t ngx_add_inherited_sockets(ngx_cycle_t *cycle) { u_char *p, *v, *inherited; ngx_int_t s; ngx_listening_t *ls; inherited = (u_char *) getenv(NGINX_VAR); if (inherited == NULL) { return NGX_OK; } ngx_log_error(NGX_LOG_NOTICE,
#技术帖    #network    #计算机网络    #龙潭书斋   
日志模块无论在任何项目中,日志都是一个非常重要的模块,无论是问题定位还是日常信息的管理,都离不开他在nginx中,ngx_errlog_module模块专门用于处理nginx日志信息,是nginx的core模块之一在 main 函数中,时间初始化结束后马上进行的就是日志模块的初始化日志结构日志模块的初始化主要做的事情就是初始化全局变量 ngx_log,并创建 errlog 文件ngx_log_s 结构ngx_log 变量是一个 ngx_log_s 结构体,定义在 core/ngx_log.h 文件中,结构如下:// struct ngx_log_s // 日志结构 {{{ struct ngx_log_s { ngx_uint_t log_level; // 日志等级 ngx_open_file_t *file; // 日志文件信息 ngx_atomic_uint_t connection; // 引用该日志对象的连接数 ngx_log_handler_pt handler; // 输出日志时需要调用的回调函数 void *data; // 回调函数所
#技术帖    #linux    #unix    #计算机网络   

200x200


概述该函数允许进程指示内核等待多个事件中的任何一个发生或是超时后再唤醒他函数原型int select (int maxfdp1, fd_set *readset, fd_set *writeset,

#读书笔记    #技术帖    #linux    #unix   

200x200


〇、基本的TCP客户/服务器程序的套接字函数 一、socketsocket 函数用来指定期望的通信协议类型int socket (int family, int type, int

#读书笔记    #技术帖    #linux    #unix   

200x200


〇、概述IPv4 套接字地址结构通常也称为“网际套接字地址结构”,以 sockaddr_in 命名,定义在 <netinet/in.h> 

#技术帖    #linux    #unix    #ip   

200x200


TCP 输出下图展示了某个应用进程写数据到一个 TCP 套接字中时发生的步骤 每一个 TCP 套接字都有一个发送缓冲区,我们可以使用&nbs

#读书笔记    #linux    #unix    #计算机网络   

200x200


一、三路握手建立一个TCP连接的过程如下: 服务器必须准备好接收外来的连接,这通常通过调用 socket、bind 和 listen 三个函数完成,我们称之为“

#读书笔记    #技术帖    #linux    #unix   
1 2



京ICP备15018585号