• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • YouClaw
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
指尖上的快乐
博客园    首页    新随笔    联系   管理    订阅  订阅
03 2016 档案
epoll模型的注意点

摘要:注册函数 阅读全文
posted @ 2016-03-18 12:35 指尖上的快乐 阅读(94) 评论(0) 推荐(0)
linux第13天 生产者与消费者

摘要:pthread_cond_t my_condition = PTHREAD_COND_INITIALIZER; pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; // 互斥锁和条件等待 解决生产者和消费者模型 条件等待模型//socket连接池。。 阅读全文
posted @ 2016-03-17 14:01 指尖上的快乐 阅读(153) 评论(0) 推荐(0)
linux第12天 线程

摘要:今天主要学习了共享内存,信号量的封装,还有线程.   POSIX线程库 与线程有关的函数构成了一个完整的系列,绝大多数函数的名字都是以“pthread_”打头的 要使用这些函数库,要通过引入头文<pthread.h> 链接这些线程函数库时要使用编译器命令的“-lpthread”选项     pthr 阅读全文
posted @ 2016-03-15 21:34 指尖上的快乐 阅读(329) 评论(0) 推荐(0)
关于VOID *在cl与gcc的不同(无意中发现)

摘要:在windows中,void *是不确定类型,CL编译器无法确定其步长 但在linux中,void *默认步长是1 阅读全文
posted @ 2016-03-14 21:14 指尖上的快乐 阅读(350) 评论(0) 推荐(0)
linux第11天 共享内存和信号量

摘要:今天主要学习了共享内存和信号量 在此之前,有个管道问题 ls | grep a 整句话的意思是将ls输出到管道的写端,而流通到另一端的读端,grep a则是从管道的读端读取相关数据,再做筛选 共享内存 int shmget(key_t key, size_t size, int flag); key 阅读全文
posted @ 2016-03-14 21:12 指尖上的快乐 阅读(1398) 评论(0) 推荐(0)
关于select函数中timeval和fd_set重新设置的问题(转的,博主写得相当经典)

摘要:select原型: int select(int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout); 和select模型紧密结合的四个宏: FD_CLR(int fd, fd_set * 阅读全文
posted @ 2016-03-11 16:59 指尖上的快乐
linux第10天 msg消息队列

摘要:cat /proc/sys/kernel/msgmax最大消息长度限制 cat /proc/sys/kernel/msgmnb消息队列总的字节数 cat /proc/sys/kernel/msgmni消息条目数 消息队列综合案例 阅读全文
posted @ 2016-03-10 22:55 指尖上的快乐 阅读(462) 评论(0) 推荐(0)
linux第9天 UDP

摘要:今天学了一点UDP知识,还是IP协议.都不是重点,重点是socket服务器框架 不过还是把今天学的东西,先罗列出来,将来复习的时候方便 <!--[if !supportLists]-->q <!--[endif]-->UDP报文可能会丢失、重复 <!--[if !supportLists]-->q 阅读全文
posted @ 2016-03-09 15:49 指尖上的快乐 阅读(512) 评论(0) 推荐(0)
linux第8天 connect强化

摘要:今天没有系统学习什么新知识,就是把以前学到的知识复习了一下,其中有几点值得注意 connect(fd, (struct sockaddr *)addr, sizeof(struct sockaddr_in)); 当fd处于非阻塞时, 如果connect没有成功连接,将返回-1,errno将指定于EI 阅读全文
posted @ 2016-03-08 23:21 指尖上的快乐 阅读(222) 评论(0) 推荐(0)
关于非阻塞connect的若干细节性问题

摘要:我们用man connection命令查看手册,如下: EINPROGRESS The socket is nonblocking and the connection cannot be completed immediately. It is possible to select(2) or p 阅读全文
posted @ 2016-03-08 11:33 指尖上的快乐 阅读(1423) 评论(0) 推荐(0)
linux第7天 I/O的五种模型, select

摘要:服务器端避免僵尸进程的方法: 1)通过忽略SIGCHLD信号,解决僵尸进程 signal(SIGCHLD, SIG_IGN) 2)通过wait方法,解决僵尸进程 signal(SIGCHLD, handle_sigchld); wait(NULL) 3)通过waitpid方法,解决僵尸进程 sign 阅读全文
posted @ 2016-03-07 20:30 指尖上的快乐 阅读(1028) 评论(0) 推荐(0)
linux第6天 流协议-粘包

摘要:今天学习的主要是对第5天的加强. 比如服务器的多进程,点对点应用聊天程序.父进程子进程互发消息.等等. 流协议-粘包 一般TCP协议会出现粘包,粘包产生的原因一般为.TCP协议是流式传输,不会根据用户传输数据的大小进行截断, 所以用户数据的传输很可能被TCP截断,所以就有了一种对数据包的再包装. 思 阅读全文
posted @ 2016-03-06 23:43 指尖上的快乐 阅读(363) 评论(0) 推荐(0)
对while((pid = waitpid(-1, &stat, WNOHANG)) > 0)不懂的地方,现在懂了

摘要:while((pid = waitpid(-1, &stat, WNOHANG)) > 0) 需要写到信号处理函数中,假如有10个子进程 只要父进程能够收到最后一个信号,就能把前面丢失的所产生的僵尸进程回收完. 而父进程是能够收到最后一个信号的,就算父进程在子进程结束到第5个的时候,开始进行信号函数 阅读全文
posted @ 2016-03-05 11:29 指尖上的快乐 阅读(2395) 评论(1) 推荐(1)
fork子进程之间传输信息的方法(包含子进程与子进程之间区分的问题的解决)

摘要:今天看到一道题,要求是父进程fork出两个子进程,子进程1需要给子进程2发送一个数据,然后子进程2再将这个数据发送给父进程 具体思想如下. 父进程fork出来的子进程的pid,只有父进程保存下来了, 子进程1可以获取到父进程的pid,子进程2可以获取到子进程1的pid,但是子进程1得不到子进程2的p 阅读全文
posted @ 2016-03-04 22:24 指尖上的快乐 阅读(1788) 评论(2) 推荐(0)
linux第5天 socket api

摘要:IPv4套接口地址结构通常也称为“网际套接字地址结构”,它以“sockaddr_in”命名,定义在头文件<netinet/in.h>中 通用地址结构用来指定与套接字关联的地址。以sockaddr命名 我们进行TCP编程的时候,通常是用sockaddr_in,但提供的API函数是通用地址结构,所以,传 阅读全文
posted @ 2016-03-04 22:12 指尖上的快乐 阅读(424) 评论(0) 推荐(0)
linux第4天 shell socket

摘要:$[ ] 表示形式告诉shell对方括号中的表达式求值 echo $[3+9] 赋值运算符 =,+=,-=,*=,/=,%=,&=,^=、|=,<<=,>>= let count = $count + $change let count += $change cat longfile |more使用 阅读全文
posted @ 2016-03-03 23:47 指尖上的快乐 阅读(3694) 评论(0) 推荐(0)
linux环境变量与本地变量

摘要:两者不同的是. 环境变量可以在shell的子进程中使用, 而本地变量不同. 每当连接上服务器时,服务器就会通过帐号密码运行一个SHELL,我们所做的工作都在这个SHELL上,特殊方法除外(如,守护进程) 我们在SHELL所敲击的命令,实质上都是shell的子进程.环境变量就可以在子进程中访问.而本地 阅读全文
posted @ 2016-03-02 23:52 指尖上的快乐 阅读(591) 评论(0) 推荐(0)
linux第2天 信号 wait

摘要:孤儿进程和僵尸进程 如果父进程先退出,子进程还没退出那么子进程的父进程将变为init进程。(注:任何一个进程都必须有父进程) 如果子进程先退出,父进程还没退出,那么子进程必须等到父进程捕获到了子进程的退出状态才真正结束,否则这个时候子进程就成为僵进程。 孤儿进程 如果父亲进程先结束,子进程会托孤给1 阅读全文
posted @ 2016-03-02 00:39 指尖上的快乐 阅读(1035) 评论(0) 推荐(0)

博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3