Server Develop (三) 多进程实现C/S

多进程实现C/S

  把上次的多进程简单的添加一个fork就可以实现一个简单的多进程服务器。具体进程创建和使用的函数,有时间得总结一下了~~~~

if(fork()==0){
        char buffer[1024];
        strcpy(buffer, "this is server! welcome!\n");
        send(sock_client, buffer, 1024, 0);

        bzero(buffer,sizeof(buffer));
        flag = recv(sock_client, buffer, 1024, 0);
        if(flag < 0){
            perror("recv error!\n");
            close(sock_serv);
            return;
        }
        printf("recv : %s\n",buffer);

        while(1){
            bzero(buffer,sizeof(buffer));
            flag = recv(sock_client, buffer, 1024, 0);
            if(flag < 0){
                perror("recv error!\n");
                close(sock_serv);
                return;
            }
            printf("i have recv buffer\n");
            printf("recv : %s\n",buffer);
            if(strcmp(buffer,"quit") == 0){
                printf("quit!!!\n");
                break;
            }
        }
    }

 


本文 由 cococo点点 创作,采用 知识共享 署名-非商业性使用-相同方式共享 3.0 中国大陆 许可协议进行许可。欢迎转载,请注明出处:
转载自:cococo点点 http://www.cnblogs.com/coder2012

时间: 2024-09-10 02:58:06

Server Develop (三) 多进程实现C/S的相关文章

Server Develop (七) Linux 守护进程

守护进程,也就是通常说的Daemon进程,是Linux中的后台服务进程.它是一个生存期较长的进程,通常独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件.守护进程常常在系统引导装入时启动,在系统关闭时终止.Linux系统有很多守护进程,大多数服务都是通过守护进程实现的. 守护进程的特点 由于在Linux中,每一个系统与用户进行交流的界面称为终端,每一个从此终端开始运行的进程都会依附于这个终端,这个终端就称为这些进程的控制终端,当控制终端被关闭时,相应的进程都会自动关闭.但是守护进程却

Community Server专题三:HttpModule

server 从专题三开始分析Community Server的一些具体的技术实现,根据IIS对请求的处理流程,从HttpModule& HttpHandler切入话题,同时你也可以通过一系列的专题了解CS的运行过程,不只如此,所有的.Net 1.1 构架的Web App都是以同样的顺序执行的. 先了解一下IIS系统.它是一个程序,负责对网站的内容进行管理并且处理对客户的请求做出反应.当用户对一个页面提出请求时,IIS做如下反应(不考虑权限问题): 1.把对方请求的虚拟路径转换成物理路径 2.根

使用MS SQL7的LINKED SERVER第三篇

server 昨天说的是用ENTERPRISE MANAGER设置ORACLE的LINKED SERVER,今天说一下对于相同的设置在Query Analyzer中使用系统过程进行的方法.     在Enterprise Manager中,设置时有以下三部分:         一.服务器名和服务器类型        二.服务器的服务器选项        三.安全     在用存储设置时也分这三部分     步骤:     一.添加服务器        使用 sp_addlinkedserver

Server Develop (八) IOCP模型

IOCP全称I/O Completion Port,中文译为I/O完成端口.IOCP是一个异步I/O的Windows API,它可以高效地将I/O事件通知给应用程序,类似于Linux中的Epoll. 简介 IOCP模型属于一种通讯模型,适用于Windows平台下高负载服务器的一个技术.在处理大量用户并发请求时,如果采用一个用户一个线程的方式那将造成CPU在这成千上万的线程间进行切换,后果是不可想象的.而IOCP完成端口模型则完全不会如此处理,它的理论是并行的线程数量必须有一个上限-也就是说同时发

SQL Server 存储过程三种分页效率测试对比

很多朋友对大数据库分页技术感兴趣,在 SQL Server 优先会考虑存储过程,本人也是用存储过程分布,而且是本实例中的第二方案,下面我们来用实例对比 利用Not In和SELECT TOP分页,利用ID大于多少和SELECT TOP分页,利用SQL的游标存储过程分页 这三种分页技术的效率. 建立表: CREATE TABLE [TestTable] ( [ID] [int] IDENTITY (1, 1) NOT NULL , [FirstName] [nvarchar] (100) COLL

Windows Server 2008三十个经典问题解答

1.如何安装Windows Server 2008 ? &http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   可以采取两种方式:一是硬盘安装,二是光盘安装.无论采取哪种方式,都建议遵循从低版本到高版本的安装顺序,即:Windows XP--Windows VISTA--Windows Server 2008 .否则会相当麻烦的.具体安装办法,与安装VISTA相似,本博客有详细介绍. 2.安装到最后一步提示输入密码,

Server Develop (一) 简单的TCP/IP C/S

简单的C/S //server.h #include "utl.h" class server{ public: server(const short port); ~server(); int initServer(); void startListen(); //循环accept,可以通过继承来增加多线程 private: struct sockaddr_in server_addr; int sock_serv; }; //server.cc #include "ser

SQL Server DBA三十问

很多开发人员都想成为一名DBA,也有很多人一开始就把自己定位成为一名DBA,DBA究竟需要掌握些什么知识和技能呢?以下是我做DBA工作和面试DBA时,整理的一些DBA方面的三十个问题,三十个大问题中还有许多小的问题,涵括了SQLServer DBA比较多的技术知识点,与大家分享下,希望给有志做DBA的朋友们一些帮助: 1.char.varchar.nvarchar之间的区别(包括用途和空间占用):xml类型查找某个节点的数据有哪些方法,哪个效率高:使用存储过程和使用T-SQL查询数据有啥不一样:

Server Develop (六) Linux epoll总结

epoll是Kernel 2.6后新加入的事件机制,在高并发条件下,远优于select.epoll最大的好处在于它不会随着监听fd数目的增长而降低效率.因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多.并且,在linux/posix_types.h头文件有这样的声明:  #define __FD_SETSIZE 1024 //select最多同时监听1024个fd 当然,可以通过修改头文件再重编译内核来扩大这个数目,但这似乎并不治本. 所以在Nginx中采