QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 770|回复: 4

如何实现对客户端的监听(转贴)

[复制链接]
发表于 2004-3-5 20:48:39 | 显示全部楼层 |阅读模式
我已经用C编写了后台的守护进程,但是如何实现该守护进程对客户端的监听,在下不知如何下手,各位给点建议指导,感激不尽。
  没办法,网络那边没人理我,所以只好转到这来了。简称“转帖”。
发表于 2004-3-5 23:51:20 | 显示全部楼层
………………
man listen
回复

使用道具 举报

 楼主| 发表于 2004-3-6 13:37:32 | 显示全部楼层
什麽意思?详细点行不?
回复

使用道具 举报

发表于 2004-3-6 15:58:29 | 显示全部楼层
首先,你并没说清你的守护进程是做什么的。在Linux下有一个超级服务器,即因特网守护进程(inetd),它同时监听多个端口地址上的连接,并启动相应的服务器。也就是说,一个Web服务器并不是一直运行,而是当inetd听到80(默认,但可改)有连接请求时,才启动Web进程。那么Web服务进程并不是守护进程!你的守护进程,我估计是指一个Web或Ftp守护进程。在这种情况下,你要做的就是(Tcp连接):1.调用socket创建一个套接字 2.调用bind把套接字绑定在自己所提供服务的端口上  3.调用listen将套接字设定为被动模式,使之可以接收外来的连接请求 4.调用accept接受连接请求,注意,这个accept会返回一个新的套接字,你应该用这个套接字与客户联系,最初用socket创建的那个套接字继续监听其它客户的连接请求。然后你就用accept返回的套接字做一些通信工作。udp的流程不太一样,在服务器端没有listen,直接用recvfromy就可以了。

当然,更细节的参数设置太多,你得自己找书看。(Unix network programming --W.Richard Stevens是最好的;INTERNETWORKING with TCP/IP volume 3--Douglas E.Comer也可以,都有中译本)
回复

使用道具 举报

 楼主| 发表于 2004-3-6 20:49:44 | 显示全部楼层
谢了,你提供的正是我想要得
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-8 20:26 , Processed in 0.090212 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表