Socket端口复用
先说为什么要使用socket端口复用?如果你遇到过这样的问题:server程序重启之后,无法连接,需要过一段时间才能连接上?
1.一个监听(listen)server已经启动
2.当有client有连接请求的时候,server产生一个子进程去处理该client的事物.
3.server主进程终止了,但是子进程还在占用该连接处理client的事情.虽然子进...
分类:
系统相关 时间:
2015-10-05 11:42:16
阅读次数:
351
并发下的僵尸进程处理
只有一个进程连接的时候,我们可以使用以下两种方法处理僵尸进程:
1)通过忽略SIGCHLD信号,避免僵尸进程
在server端代码中添加
signal(SIGCHLD, SIG_IGN);
2)通过wait/waitpid方法,解决僵尸进程
signal(SIGCHLD,onSignalCatch);
void onS...
分类:
系统相关 时间:
2015-10-05 00:49:24
阅读次数:
369
ISO/OSI七层参考模型
1.物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后再转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫做比特。(标志:RJ-45)
2.数据链路层:定义了如何让格式化数据以进行传输,以及如何让控制对物理介质的访问...
分类:
系统相关 时间:
2015-10-01 20:34:55
阅读次数:
363
前面我也讲述过一篇文章《带你从零学习linux下的socket编程》,主要是从进程通信的角度开篇然后延伸到linux中的socket的开发。本篇文章依然是从进程通信的角度去分析下Android中的进程通信机制。为什么在Android中使用binder通信机制?众所周知linux中的进程通信有很多种方式,比如说管道、消息队列、socket机制等。socket我们再熟悉不过了,然而其作为一款通用的接口,...
分类:
移动开发 时间:
2015-09-21 22:36:56
阅读次数:
273