Linux网络服务器/客户进程的实现

时间:2025-03-07

linux 守护进程

维普资讯 http://www.77cn.com.cn

@2 - 0 l“‘『第 1卷第 3 2期20 OO年 9月. . 0

塔里术农垦丈学学报o Tt U f mm订o f^ Re m l da i ̄

v l№ . d 2 3 S .2 o 单 0o

Lnx网络服务器/ i u客户进程的实现T { P 1 0

年,——●一

梅陈苏丽z/、李新国,-—— _ _一

(塔里木农垦大学农业工程学院 . 1新疆阿拉尔

830 ) 430

(塔里木农垦大学校办档案室, 2新疆阿拉尔 830 ) 430摘蔓本文讨论了在 Lr i ̄下利用 Sce编写服务器t a okt客户机守护进程的一般方法和原理 .以及由该守护进程创建

后台子女进程和前古子女进程的方法、步骤。

关字键中圉分类号

堂^芏、墨一寺迎 窆竖里兰,士极T 330 P9 .3

Lu是 UI ix n NX的一种免费版本,其网上功能强大,安全性能强,因此受到用户的欢迎。在 1 u中 . x i n内置了 T PI协议, CI P利用此协议中的 Sce接口可以自己缩写一些功能较强的服务器进程和客户进程 o t k的程序来实现网上数据的交换。

在网上大量使用了客户机t服务器模式,在此模式中,由一些进程来实现一组服务,它们运行在用户 态,为服务器。服务器的任务是检查是否有客户的服务请求,被称在满足客户的请求之后返回。丽客户是一个应用程序,如果它需要服务,就发出请求服务的消息。网上大量使用的卸,喊等采用的就是讪这种客户机,服务器结构。 在客户程序和服务程序利用 T P℃通信的情况下,服务程序通常将打开它的连接端并且被动地等待连接的到来。而客户程序在打开到服务程序的连接中将扮演主动的角色。一

旦两个进程之间的 T P Sce连接已经建立, C— okt s连接的端点将象普通的 La文件一样被对待. il rx

使得象 f d ) e (和 (之类的系统功能调用能被用于传递数据。为了使这一点成为可能,似于普通 8 )类文件要由文件描述符与它结合在一起一样 .okt Sce也有描述符和它结合在一起,okt Sce描述符并不自动地与规定的目的地址联系在一起,而必须由系统调用将描述符与目的地址进行结合。因此 sce 0kb中提

供了一些系统调用来创建 a e, s kt t o e描述符与本地地址结合,将 c进行连接请求 .等待连接等 .

利用这些系统功能调用能随意编写一些适用于自己的后台服务器/客户进程。由此给自己的工作带来一些方便。

1 Sce接口所用到的系统功能调用 o kt使用 Sce接口缩写网上连接程序所用的系统功能调用主要有如下几个: o t k 11创建一个 Sce。 . okt其格式是: s s=sce( ml, p .roo) d oktf i t epo c1 a yy t 其中由地址类( i )缸口y参数指定该 Sce使用的地址类。由类型( p ) l okt t e参数规定所请求的通信类 y型。协议 ( ̄o ) p e参数一般为零, d使得默认的协议将自动被选取。 12连接本地地址 .

本系统调用的主要功能是完成将一个规定的地址与一个 Sc t结合 . ok s e一个服务进程要使用如下①收蒋时期:0o 0— 2o . 3

linux 守护进程

维普资讯 http://www.77cn.com.cn

第3期

年梅等:i z L a网培服务器, n客户进程的实现

b1(系统调用: id ) l b ds,dr sad e) i (dade .ddl n s 1

其中,参数是由 sce ) s d okt调用返回的 Sce描述符。A d s指向一个地址结构 . d e参数规 ( ok s t dr s e a rn dt定了地址的字节长度。 1客户避疆奠接到眼务进程 . 3使用此累统功能调用实现客户进程对服务进程连接的初始化。此系统调用是:c m吐(dad ∞ e弓, m ̄, d ) 其中,是本地 Sce的 Sce描述符。A d s规定在目的机上服务进程正在使用的地址,d s d ok s okt t s dr s e a—

d o规定了地址的字节长读。 aa t 当作 c- c ) 0 I系统调用时,—,(如果客户的 S kt还没有结合到一个本地地址,系统自动选择一个 oe c s则本地地址和一个适当的端日,号并且把它们和该客户的 S kt相结合。 oe c s14设 t服务毽序 .一

旦服务进程已经用 sce ) b d ) ok (和 i (系统调用来创建它自己的一个 Sc t并且把一个本地地址 t n ok s e

和端日和该,ce相结合, S kt o s则它需要设置 S kt使它能接受进来的连接请求。L t (系统调用被用 oe c s ie ) sn来执行此功能,其格式为:tt (dqe) ie s.l sn n

其中,是 s kt调用返回的描述符,l s d o e) c ( q n是许可的队列大小, e被用来决定客户

连接请求的最大数。

旦 Sce已经以这种方式设置, o t ks现在服务器仅需要等待一个连接,为做到这一点,它使用了 . eg ) e (系统调用: l一

nw d= ets .d r s ad e ) e s∞cp(d ad s,d dn e

其中, d s参数是和服务器 Sce相连的 Sce描述符。A d s参数是指向一个 Sce地址结构 o t ks o t ks dr s e o t k的指针,由 a et)它将 c p(调用填人。当建立连接时, c和客户的 Sce结合的地址和端口号将被填人这一 okt地址结构。从 a et) c p的返回值是一个新的 Sce描述符, c ( o t ks它具有所建立连接的客户作为它的目的地, 并且它将被用于今后和那个客户的通信。

2守护进程守护进程是一种在后台运行并且独立于所有终端之外的进程,这些进程执行中的信息不能在任何个终端上显示,同时这些进程也不会被终端所产生的中断信号所打断。这在安全性中非常重要,因此 L u中大量的网络服务进程都被做成守护进程。根据笔者的经验, ix n以下是生成一个守护进程的基本步一

骤:

2 1关闭文件描述符 .

第一项任务是关闭所有不必要的文件描述符。如果在守护进程 …… 此处隐藏:7804字,全部文档内容请下载后查看。喜欢就下载吧 ……

Linux网络服务器/客户进程的实现.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219