服务器设计技术有很多,按使用的协议来分有 TCP 服务器和 UDP 服务器,按处理方式来分有循环服务器和并发服务器。
循环服务器与并发服务器模型
在网络程序里面,一般来说都是许多客户对应一个服务器(多对一),为了处理客户的请求,对服务端的程序就提出了特殊的要求。
目前最常用的服务器模型有:
·循环服务器:服务器在同一时刻只能响应一个客户端的请求
·并发服务器:...
分类:
系统相关 时间:
2015-05-12 18:53:25
阅读次数:
219
在Linux环境下开发经常会碰到很多错误(设置errno),其中EAGAIN是其中比较常见的一个错误(比如用在非阻塞操作中)。
从字面上来看,是提示再试一次。这个错误经常出现在当应用程序进行一些非阻塞(non-blocking)操作(对文件或socket)的时候。例如,以O_NONBLOCK的标志打开文件/socket/FIFO,如果你连续做read操作而没有数据可读。此时程序不会阻塞起...
分类:
系统相关 时间:
2015-05-12 15:37:43
阅读次数:
190
对于 TCP 客户端编程流程,有点类似于打电话过程:找个可以通话的手机( socket() ) -> 拨通对方号码并确定对方是自己要找的人( connect() ) -> 主动聊天( send() 或 write() ) -> 或者,接收对方的回话( recv() 或 read() ) -> 通信结束后,双方说再见挂电话( close() )。
对于 TCP 服务器编程流程,有点类似于接电话过程:找个可以通话的手机(socket() ) -> 插上电话卡固定一个号码( bind() ) -> 职责为被动接...
分类:
系统相关 时间:
2015-05-12 13:38:13
阅读次数:
366
主机接入网络:
IP
NETMASK
GATEWAY
HOSTNAME
DNS1
DNS2
DNS3
手动指定:
DHCP:Dynamic Host Configuration Protocol
路由
Linux网络配置:
网络属于内核的功能
/etc/udev/rules.d/***.rules...
分类:
系统相关 时间:
2015-05-12 09:22:27
阅读次数:
195
本文所有命令实施的大前提是:你现在能够上网。
稍有计算机常识的人都知道ping命令,是用来检查自己的主机是否与目标地址接通,自己的主机与目标地址的通讯包通讯速率,所谓的通讯包也就是那些什么TCP/IP,UDP包,这里说得通俗一点,比如,就拿这个IT网站csdn来测试一下,则得到如下效果:
但是路由跟踪指令traceroute,在windows则是tracert,对于非计算机网络内行,就...
分类:
系统相关 时间:
2015-05-09 11:53:20
阅读次数:
383
/* tcp_server.c */
#include
#include
#include
#include
#define portnum 3333
int main()
{
int sockfd,newfd;
struct sockaddr_in server_addr;
struct sockaddr_in client_addr;
char buffer[128];
...
分类:
其他好文 时间:
2015-05-09 10:19:15
阅读次数:
122
在生活中广播无处不在,像平时在大街上卖物品的商人,在进行推广产品的时候往往都是使用一个喇叭来进行吆喝:“十块钱买不了吃亏,十块钱买不了上当,走过路过千万不要错过”,这就是广播。
那么在网络中的广播又是什么样子的呢?...
分类:
系统相关 时间:
2015-05-08 20:23:29
阅读次数:
236
最近在做一个实例,是用RTSP协议完成。服务器已经有了,只需要把客户端做好就行了,在做的过程中发现了一些问题,就是关于UDP客户端是否绑定的问题。也许大家在书上看到的大多都是说UDP客户端不需要绑定,直接就可以和服务器通信,一开始我也是这样认为的,而且我也是这样做的,可是做着做着发现出现了问题。 ....
分类:
系统相关 时间:
2015-05-08 20:05:46
阅读次数:
140
一、 进程的概念
进程是在多道程序系统出现以后,为了描述系统内部各作业的活动规律而引进的概念。
由 于多道程序系统所带来的复杂环境,程序本身有了并行性【为了充分利用资源,在主存中同时存放多道作业运行,所以各作业之间是并行的】、制约性【各程序由于 同时存在于主存中,因此他们之间会存在着相互依赖、相互制约的关系。一个是通过中间媒介——资源发生的间接制约关系,一个是各并行程序...
分类:
编程语言 时间:
2015-05-08 09:39:42
阅读次数:
131
所谓绑定(bind)是指别人连接我只能通过我所绑定的端口,相当于,我买了一个手机,别人要想联系我,必须要知道我的手机号码,这时候,我需要怎么办呢?我需要给手机插上电话卡,固定一个电话号码,这样别人就能通过这个电话号码联系我。手机插上电话卡,固定一个电话号码,类似于绑定(bind)的过程,绑定(bind)为了固定一个端口号,别的网络程序就可以找到这个端口号,找到这个端口号就能找到这个端口号所对应的网...
分类:
系统相关 时间:
2015-05-06 23:04:00
阅读次数:
372