Linux 网络编程
Linux 网络编程:主要一起学习Linux下的服务器设计和网络编程的优化!
小刀刀
while(1)
{
Thinking;
doing;
}
展开
-
Linux 服务器设计( 二 )
上一篇的介绍已经OK,那么此处就只贴上代码! CODE_1 : 主线程accept,但是线程比进程有一个好处是,对于conn_fd资源来说是可以直接共享的,所以就可以不需要像在进程中那样需要传递socket,所以设计会简单一点!但是同样注意互斥的问题! Server: /* 主线程预先创建一批线程,线程进行等待,然后主线程 accept, 子线程互斥抢占conn原创 2012-04-19 12:39:35 · 1442 阅读 · 0 评论 -
Linux 下服务器设计( 一 )
这里讲的仅仅是一个简单的server的模型!为了处理同时来到很多小的链接请求( 解释:就是请求很简单,持续时间很短,那么if server在请求到来时在fork来处理它,有可能fork的时间比应答请求的还要少,那么就是不合理的服务设计 ),所以我们采用的是“prefork”和“prethread”模型! Unix 网络编程 上的4个模型是:prefork:主进程accept原创 2012-04-19 12:31:29 · 2418 阅读 · 0 评论 -
UNIX 域协议使用! 在进程间传递“文件描述符” 实例
你需要知道的:注意:首先你要有一个测试文件存在!( 因为下面要打开一个文件,然后传递它的描述符 )1 >:此程序的整体结构是:进程1中创建一个socketpair用于父子进程通信 |进程1中创建一个子进程 |子进程中使用execl启动另一个进程来打开此文件并将fd通过参数传入的socket传回子进程注意原创 2012-04-04 08:35:15 · 7131 阅读 · 0 评论 -
linux 网络编程:epoll 的实例
在前面已经经过了PPC、TPC、select之类( TPC就是使用进程处理data,TPC就是使用线程处理 ),前面两个的缺点大家应该都是知道的是吧,对于select( 其实poll和他差不多 ),缺点是能同时连接的fd是在是不多,在linux中一般是1024/2048,对于很大的服务器来说是不够的!当然我们可以自己修改其值!但是效率上就会下降! 对于改进poll的epoll来说:原创 2012-03-22 15:39:04 · 16321 阅读 · 0 评论 -
UNIX domain ( UNIX 域协议 ) 实例
一般在我们自己的主机上通信的时候,前面也讲到过可以使用pipe,fifo,msg,共享内存之类,如果你想使用套接字的话,当然TCP/IP的套接字也是可以的,只要指定server的IP = 127.0.0.1 或者你的当前主机的实际接入网络的IP也是可以的!但是相对与此处的UNIX domain来说,在效率上可能会低一点点、、、 UNIX domain的实际操作和前面的TCP/IP中原创 2012-03-22 06:45:40 · 2543 阅读 · 0 评论 -
linux 网络编程---->简单的UDP实例
这是一个简单的UDP的实例而已~//!> server//!> server.c#include #include #include #include #include #include #include #define SERV_PORT 6000#define MAXLINE 1024in原创 2012-03-20 11:56:23 · 1497 阅读 · 0 评论 -
linux 网络编程---->多路复用:select实例!
好吧,我承认找了好久,网上都没有像样的完整的实例,然后自己参照书自己写一个吧!//!> server端代码//!>server.c#include #include #include #include #include #include #include #include #include #define BUF_LEN 1024#d原创 2012-03-20 11:55:21 · 4147 阅读 · 0 评论 -
linux 网络编程:多客户请求服务器( C/S )实例
注意:可以开启一个server和多个client,同时可以对server进行发送data处理,请注意client的参数,格式是:./client IP char_dataIP:就是server所在的IP,char_data就是发送的数据 server.c#include#include#include#include#include#include原创 2012-03-20 11:54:24 · 1639 阅读 · 0 评论 -
linux 网络编程简单实例
当然此处仅仅是对于单用户请求的处理,对于多用户的请求后面再说!对于server处理: server要做的就是创建自己的套接字,然后设置一些参数:例如协议类型,IP之类。 然后就是bind参数,再次就是监听( listen),最后就是accept进入睡眠等待状态,if 有cilent的请求就会有反应!原创 2012-03-20 11:53:37 · 1700 阅读 · 1 评论