易截截图软件、单文件、免安装、纯绿色、仅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压缩和解压缩命令大全


linux压缩和解压缩命令大全

        .tar
  解包:tar zxvf FileName.tar
  打包:tar czvf FileName.tar DirName
  ---------------------------------------------
  .gz
  解压1:gunzip FileName.gz
  解压2:gzip -d FileName.gz
  压缩:gzip File ......

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 ......

linux 中注意事项

(1)exit()与_exit()区别: _exit()直接使进程停止运行,清除器使用的内存空间,销毁其在内核中的各种数据结构。
   exit()函数在调用exit系统调用之前要检查文件的打开情况,把文件缓冲区中的内容写回文件,清理I/O缓冲(推荐使用这个函数)
(2)waitpid
      #include <sys/ ......

linux学习笔记 1.linux初步介绍

一.linux的特点
1)免费的/开源的
2)支持多线程/多用户
3)安全性好
4)对内存和文件管理优越
二.谁在挺linux
IBM/Compaq/Novell/Oracle/Sun/NEC....
三.linux 最小只要4M内存 -》嵌入式开发
四.linux 的故事
1973,unix出现。此时windows尚未出生
源码内核共享 -》IBM推出aix,SUN推出solaris,HP推出HP unix, ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号