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
)
{
 
相关文档:
转自: http://blog.csdn.net/kongqz/archive/2009/05/15/4184415.aspx
就是在已有的数据库实例上创建一个新的帐号,访问一些新的表
操作步骤如下:
1、登录linux,以oracle用户登录(如果是root用户登录的,登录后用 su - oracle命令切换成oracle用户)
2、以sysdba方式来打开sqlplus,命令如下: s ......
出处:http://bbs.java.ccidnet.com
挂接命令(mount)
首先,介绍一下挂接(mount)命令的使用方法,mount命令参数非常多,这里主要讲一下今天我们要用到的。
命令格式:
mount [-t vfstype] [-o options] device dir
其中:
1.-t vfstype 指定文件系统的类型,通常不必指定。mount 会自动选择正确 ......
最近对Linux的线程接口进行了些总结,也参考了网络上兄弟们的一些资料,自己同时也写了些程序进行测试,先把参考的
资料列出来吧
http://blog.mcuol.com/User/liuzhilii521/Article/12738_1.htm
下面是我的一些理解:
pthread_key_create(pthread_key_t *key,void (*destructor)(void*))
destructor这个回调函数在线程 ......
一.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, ......
VirtualBox官方网站:http://www.virtualbox.org/
以下为ubuntu 为平台的安装、配置、使用,其实在各个发行版中的使用都差不多,只是在下载的时候需要下载相对应主系统平台的安装包即可。
环境需求:
VirtualBox需要ker ......