多客户模式

简介:
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;
}
目录
相关文章
|
3月前
|
存储 缓存 安全
企业出海合规:如何区分数据控制者与数据处理者
数据控制者是确定个人数据处理目的和方式的实体,负有最大责任,需保护数据主体的隐私。数据处理者是按照控制者指示处理个人数据的实体,负责数据安全和协助控制者履行职责。两者需通过明确的合同规定责任。数据控制者的职责包括确定目的、获得同意、确保安全、提供透明度、促进权利行使、进行DPIA和建立协议。数据处理者负责按指示处理数据、确保安全和保密、协助控制者、处理数据泄露通知、数据删除和遵守法律。
105 0
|
19天前
|
数据中心
|
23天前
|
存储 数据库
工单系统的作用与优势!为什么企业需要它?
**工单系统是管理任务和请求的软件,如ZohoDesk,能提升生产力、提供透明度、增强客户满意度、优化资源分配和促进协作。ZohoDesk工单系统特点包括直观界面、高度可定制、多渠道支持、强大集成能力和报告功能,适合不同规模的组织。**
49 1
|
3月前
|
存储 边缘计算 搜索推荐
SaaS是最终化的软件模式吗
SaaS、最终化、软件模式
|
供应链 搜索推荐 大数据
外贸业务客户开发策略
搜索引擎,这个想必外贸人一点都不陌生,都会用到,不管是谷歌,还是雅虎,还是其他的搜索引擎,这里要强调一点的是,有国家还有本土的搜索引擎的,比如中国有百度,搜狐之类的,用本土搜索引擎,开发效率更高。 2、社交媒体,比如领英,facebook等
112 0
|
物联网
我们有一个近2500岁的客户!
近日,在阿里巴巴发布的2022财年Q3季度财报,有一位将近2500岁的客户上榜,它就是来自安徽的砀山梨。
124 0
我们有一个近2500岁的客户!
|
Oracle 关系型数据库
客户智能工具
本文研究全球及中国市场客户智能工具现状及未来发展趋势,侧重分析全球及中国市场的主要企业,同时对比北美、欧洲、中国、日本、东南亚和印度等地区的现状及未来发展趋势
|
数据采集 自然语言处理 搜索推荐
外贸企业怎么去开发客户?
外贸怎么获客?不管是B2C还是B2B,对于想利用线上开拓业务的外贸行业都先进驻平台开始。B2C的话,大部分都是入驻四大平台:亚马逊、eBay、Wish以及速卖通;B2B的话就是阿里巴巴、环球资源、MIC(中国制造网)以及一些行业垂直的网站。
579 0
外贸企业怎么去开发客户?
|
人工智能 大数据 云计算
从传统的找客户到现在的客户找上门
从传统的找客户到现在的客户找上门
813 0
从传统的找客户到现在的客户找上门
|
人工智能 Oracle 关系型数据库

热门文章

最新文章