多客户模式

简介:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#include <sys/types.h>
#include <sys/time.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/ioctl.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/socket.h>
#include <netinet/in.h>
 
int  main( int  argc,  char  const  *argv[])
{
     int  server_sockfd, client_sockfd;
     int  server_len, client_len;
     struct  sockaddr_in server_address;
     struct  sockaddr_in client_address;
     int  result;
     fd_set readfds,testfds;
 
     // create a socket for server and name it
     server_sockfd=socket(AF_INET,SOCK_STREAM,0);
 
     server_address.sin_family=AF_INET;
     server_address.sin_addr.s_addr=htonl(INADDR_ANY);
     server_address.sin_port=htons(9734);
     server_len= sizeof (server_address);
 
     //bind the socket and address
     bind(server_sockfd,( struct  sockaddr*)&server_address,server_len);
 
     listen(server_sockfd,5);
 
     FD_ZERO(&readfds);
     FD_SET(server_sockfd,&readfds);
 
     while (1){
         char  ch;
         int  fd;
         int  nread;
 
         testfds=readfds;
         printf ( "server waiting...\n" );
 
         result=select(FD_SETSIZE,&testfds,(fd_set*)NULL,(fd_set*)NULL,( struct  timeval*)0);
 
         if (result<1){
             perror ( "server5..." );
             exit (1);
         }
 
         for (fd=0;fd<FD_SETSIZE;fd++){
             if (FD_ISSET(fd,&testfds)){
                 if (fd==server_sockfd){
                     client_len= sizeof (client_address);
                     client_sockfd=accept(server_sockfd,( struct  sockaddr*)&client_address,&client_len);
                     FD_SET(client_sockfd,&readfds);
                     printf ( "adding client on fd %d\n" , client_sockfd );
                 } else {
                     ioctl(fd,FIONREAD,&nread);
 
                     if (nread==0){
                         close(fd);
                         FD_CLR(fd,&readfds);
                         printf ( "removing client on fd %d\n" ,fd );
                     } else {
                         read(fd,&ch,1);
                         sleep(3);
                         printf ( "server client on fd %d\n" ,fd );
                         ch++;
                         write(fd,&ch,1);
                     }
                 }
             }
         }
     }
 
     return  0;
}
目录
相关文章
|
4月前
|
存储 搜索推荐 数据挖掘
CRM:客户管理与业务增长引擎
Zoho CRM系统是综合信息技术解决方案,助企业集中管理客户信息、销售、市场、服务等,提升客户满意度与销售效率。系统功能涵盖客户信息管理、销售流程追踪、市场营销管理、客户服务支持及数据分析,为企业提供个性化服务工具,增强市场竞争力,促进可持续增长。
32 2
|
7月前
|
大数据
网络交易平台的运营模式是什么?
【5月更文挑战第14天】网络交易平台的运营模式是什么?
157 0
|
7月前
|
数据中心
|
7月前
|
存储 边缘计算 搜索推荐
SaaS是最终化的软件模式吗
SaaS、最终化、软件模式
|
供应链 搜索推荐 大数据
外贸业务客户开发策略
搜索引擎,这个想必外贸人一点都不陌生,都会用到,不管是谷歌,还是雅虎,还是其他的搜索引擎,这里要强调一点的是,有国家还有本土的搜索引擎的,比如中国有百度,搜狐之类的,用本土搜索引擎,开发效率更高。 2、社交媒体,比如领英,facebook等
147 0
|
物联网
我们有一个近2500岁的客户!
近日,在阿里巴巴发布的2022财年Q3季度财报,有一位将近2500岁的客户上榜,它就是来自安徽的砀山梨。
153 0
我们有一个近2500岁的客户!
|
Oracle 关系型数据库
客户智能工具
本文研究全球及中国市场客户智能工具现状及未来发展趋势,侧重分析全球及中国市场的主要企业,同时对比北美、欧洲、中国、日本、东南亚和印度等地区的现状及未来发展趋势
|
弹性计算 负载均衡 网络虚拟化
面向传统行业客户的共享带宽方案
告诉你为什么共享流量包相对于共享带宽更适合传统行业客户。
346 0
面向传统行业客户的共享带宽方案
|
人工智能 大数据 云计算
从传统的找客户到现在的客户找上门
从传统的找客户到现在的客户找上门
857 0
从传统的找客户到现在的客户找上门
|
人工智能 Oracle 关系型数据库