易截截图软件、单文件、免安装、纯绿色、仅160KB

Linux网络编程 客户端与服务器端异步通信

#include <sys/select.h>
#include <sys/time.h>
#include
<sys/types.h>
#include <unistd.h>
int select(int
nfds,fd_set *readfds,fd_set *writefds, fd_set *except fds,struct timeval
*timeout)
void FD_SET(int fd,fd_set *fdset)
void FD_CLR(int fd,fd_set
*fdset)
void FD_ZERO(fd_set *fdset)
int FD_ISSET(int fd,fd_set
*fdset)
继续前面的
Linux网络编程-客户端与服务器端通信(Echo)

,接着讲关于客户端与服务器端的异步通讯
一般的来说当我们在向文件读写时,进程有可能在读写出阻塞,直到一定的条件满足.
比如我们从一个套接字读数据时,
可能缓冲区里面没有数据可读 (通信的对方还没有
发送数据过来),这个时候我们的读调用就会等待(阻塞)直到有数据可读.
如果我们不 希望阻塞,我们的一个选择是用select系统调用.
只要我们设置好select的各个参数,
那么当文件可以读写的时候select回"通知"我们 说可以读写了.
       
readfds所有要读的文件文件描述符的集合
        writefds所有要的写文件文件描述符的集合
       
exceptfds其他的服要向我们通知的文件描述符
        timeout超时设置.
       
nfds所有我们监控的文件描述符中最大的那一个加1
在我们调用select时进程会一直阻塞直到以下的一种情况发生.
       
1)有文件可以读.
        2)有文件可以写.
        3)超时所设置的时间到.
为了设置文件描述符我们要使用几个宏.
        FD_SET将fd加入到fdset
       
FD_CLR将fd从fdset里面清除
        FD_ZERO从fdset中清除所有的文件描述符
       
FD_ISSET判断fd是否在fdset集合中
使用select的一个例子
#
include
<
stdio.
h>
    #
include
<
sys/
time
.
h>
    #
include
<
sys/
types.
h>
    #
include
<
unistd.
h>
    int
main(
void
)
    {
     


相关文档:

Linux:挂接(mount)命令的使用方法

出处:http://bbs.java.ccidnet.com
挂接命令(mount)
  首先,介绍一下挂接(mount)命令的使用方法,mount命令参数非常多,这里主要讲一下今天我们要用到的。
  命令格式:
  mount [-t vfstype] [-o options] device dir
  其中:
  1.-t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确 ......

Linux ubuntu设置root密码

Ubuntu 7.10
在安装时,没有设置root密码,所以这就必须在安装完成后设置 命令如下:
$ sudo passwd root
输入你希望的root用户的密码
其它命令:
一、安装Grub
$ grub
$ find /boot/grub/stage1
(hd0,*)
$ root (hd0,*)
$ setup (hd0,*)
$ quit
$ sudo dd if=/de ......

Linux 线程接口说明

最近对Linux的线程接口进行了些总结,也参考了网络上兄弟们的一些资料,自己同时也写了些程序进行测试,先把参考的
资料列出来吧
http://blog.mcuol.com/User/liuzhilii521/Article/12738_1.htm
下面是我的一些理解:
pthread_key_create(pthread_key_t *key,void (*destructor)(void*))
destructor这个回调函数在线程 ......

Red Hat Enterprise Linux 下cvs服务器的安装与配置

Red Hat Enterprise Linux 下cvs服务器的安装与配置



安装与配置
首先安装 cvs ,一般服务器自带了cvs服务,版本随意,没什么差别
[root@RHEL ~]#rpm –ivh cvs-1.11.22-5.el5.i386.rpm

然后创建一个cvs用户组,并创建一个cvsroot用户
[root@RHEL ~]#groupadd cvs
[root@RHEL ~]#useradd –g cv ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号